Class BinanceStreamingAccountService

java.lang.Object
info.bitrich.xchangestream.binance.BinanceStreamingAccountService
All Implemented Interfaces:
StreamingAccountService

public class BinanceStreamingAccountService extends Object implements StreamingAccountService
  • Constructor Details

  • Method Details

    • getRawAccountInfo

      public io.reactivex.rxjava3.core.Observable<OutboundAccountPositionBinanceWebsocketTransaction> getRawAccountInfo()
    • getBalanceChanges

      public io.reactivex.rxjava3.core.Observable<Balance> getBalanceChanges()
    • getBalanceChanges

      public io.reactivex.rxjava3.core.Observable<Balance> getBalanceChanges(Currency currency, Object... args)
      Description copied from interface: StreamingAccountService
      Get the changes of account balance for the logged-in user.

      Warning: there are currently no guarantees that messages will arrive in order, that messages will not be skipped, or that any initial state message will be sent on connection. Most exchanges have a recommended approach for managing this, involving timestamps, sequence numbers and a separate REST API for re-sync when inconsistencies appear. You should implement these approaches, if required, by combining calls to this method with AccountService.getAccountInfo().

      Emits NotConnectedException When not connected to the WebSocket API.

      Immediately throws ExchangeSecurityException if called without authentication details

      Specified by:
      getBalanceChanges in interface StreamingAccountService
      Parameters:
      currency - Currency to monitor.
      Returns:
      Observable that emits Balance when exchange sends the update.
    • openSubscriptions

      public void openSubscriptions()
      Registers subsriptions with the streaming service for the given products.

      As we receive messages as soon as the connection is open, we need to register subscribers to handle these before the first messages arrive.