Class KrakenStreamingExchange

    • Constructor Detail

      • KrakenStreamingExchange

        public KrakenStreamingExchange()
    • Method Detail

      • pickUri

        public static String pickUri​(boolean isPrivate,
                                     boolean useBeta)
      • connect

        public io.reactivex.Completable connect​(ProductSubscription... args)
        Description copied from interface: StreamingExchange
        Connects to the WebSocket API of the exchange.
        Specified by:
        connect in interface StreamingExchange
        Parameters:
        args - Product subscription is used only in certain exchanges where you need to specify subscriptions during the connect phase.
        Returns:
        Completable that completes upon successful connection.
      • disconnect

        public io.reactivex.Completable disconnect()
        Description copied from interface: StreamingExchange
        Disconnect from the WebSocket API.
        Specified by:
        disconnect in interface StreamingExchange
        Returns:
        Completable that completes upon successful disconnect.
      • isAlive

        public boolean isAlive()
        Description copied from interface: StreamingExchange
        Checks whether connection to the exchange is alive.
        Specified by:
        isAlive in interface StreamingExchange
        Returns:
        true if connection is open, otherwise false.
      • connectionSuccess

        public io.reactivex.Observable<Object> connectionSuccess()
        Description copied from interface: StreamingExchange
        Observable for connection success event. When this happens, it usually indicates that the server or the network is down.
        Specified by:
        connectionSuccess in interface StreamingExchange
        Returns:
        Observable with the exception during reconnection.
      • reconnectFailure

        public io.reactivex.Observable<Throwable> reconnectFailure()
        Description copied from interface: StreamingExchange
        Observable for reconnection failure event. When this happens, it usually indicates that the server or the network is down.
        Specified by:
        reconnectFailure in interface StreamingExchange
        Returns:
        Observable with the exception during reconnection.
      • useCompressedMessages

        public void useCompressedMessages​(boolean compressedMessages)
        Description copied from interface: StreamingExchange
        Set whether or not to enable compression handler.
        Specified by:
        useCompressedMessages in interface StreamingExchange
        Parameters:
        compressedMessages - Defaults to false
      • authData

        public KrakenWebsocketToken authData​(KrakenAccountServiceRaw accountServiceRaw)
        Gets a WebSocketToken following https://support.kraken.com/hc/en-us/articles/360034664311-How-to-subscribe-to-the-Kraken-WebSocket-private-feeds

        Token requests should be made before any Websocket reconnection to avoid cases where the token has become invalid due to issues on the Kraken side.

        From Kraken support:

        In theory WebSocket authentication tokens can last indefinitely, but in reality they do sometimes expire causing an invalid session error. As an example, during a recent WebSocket API upgrade, many authentication tokens became invalid (for no apparent reason to the token owners), causing unexpected invalid session errors upon reconnecting/resubscribing after the upgrade.

        Parameters:
        accountServiceRaw - account service to query new token against
        Returns:
        token retrieved