Class KrakenStreamingExchange
java.lang.Object
org.knowm.xchange.BaseExchange
org.knowm.xchange.kraken.KrakenExchange
info.bitrich.xchangestream.kraken.KrakenStreamingExchange
- All Implemented Interfaces:
StreamingExchange,org.knowm.xchange.Exchange
- Author:
- makarid
-
Field Summary
Fields inherited from class org.knowm.xchange.BaseExchange
accountService, exchangeMetaData, exchangeSpecification, logger, marketDataService, tradeServiceFields inherited from interface org.knowm.xchange.Exchange
USE_SANDBOXFields inherited from interface info.bitrich.xchangestream.core.StreamingExchange
ACCEPT_ALL_CERITICATES, AUTO_RECONNECT, ENABLE_LOGGING_HANDLER, L3_ORDERBOOK, SOCKS_PROXY_HOST, SOCKS_PROXY_PORT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionauthData(KrakenAccountServiceRaw accountServiceRaw) Gets a WebSocketToken following https://support.kraken.com/hc/en-us/articles/360034664311-How-to-subscribe-to-the-Kraken-WebSocket-private-feedsio.reactivex.rxjava3.core.Completableconnect(ProductSubscription... args) io.reactivex.rxjava3.core.Observable<info.bitrich.xchangestream.service.netty.ConnectionStateModel.State> io.reactivex.rxjava3.core.Observable<Object> io.reactivex.rxjava3.core.Completableio.reactivex.rxjava3.core.Observable<Object> org.knowm.xchange.ExchangeSpecificationio.reactivex.rxjava3.core.Observable<KrakenSubscriptionStatusMessage> io.reactivex.rxjava3.core.Observable<KrakenSubscriptionStatusMessage> io.reactivex.rxjava3.core.Observable<KrakenSystemStatus> protected voidbooleanisAlive()static StringpickUri(boolean isPrivate, boolean useBeta) io.reactivex.rxjava3.core.Observable<info.bitrich.xchangestream.service.netty.ConnectionStateModel.State> io.reactivex.rxjava3.core.Observable<Object> io.reactivex.rxjava3.core.Observable<Object> io.reactivex.rxjava3.core.Observable<Throwable> io.reactivex.rxjava3.core.Observable<Throwable> voidvoiduseCompressedMessages(boolean compressedMessages) Methods inherited from class org.knowm.xchange.kraken.KrakenExchange
remoteInitMethods inherited from class org.knowm.xchange.BaseExchange
applySpecification, getAccountService, getExchangeInstruments, getExchangeMetaData, getExchangeSpecification, getMarketDataService, getMetaDataFileName, getNonceFactory, getTradeService, loadExchangeMetaData, loadMetaData, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.knowm.xchange.Exchange
applySpecification, getAccountService, getExchangeInstruments, getExchangeMetaData, getExchangeSpecification, getMarketDataService, getNonceFactory, getResilienceRegistries, getTradeService, remoteInitMethods inherited from interface info.bitrich.xchangestream.core.StreamingExchange
applyStreamingSpecification, connectionIdle, getStreamingAccountService, messageDelay
-
Constructor Details
-
KrakenStreamingExchange
public KrakenStreamingExchange()
-
-
Method Details
-
pickUri
-
initServices
protected void initServices()- Overrides:
initServicesin classKrakenExchange
-
connect
- Specified by:
connectin interfaceStreamingExchange
-
disconnect
public io.reactivex.rxjava3.core.Completable disconnect()- Specified by:
disconnectin interfaceStreamingExchange
-
isAlive
public boolean isAlive()- Specified by:
isAlivein interfaceStreamingExchange
-
connectionSuccess
- Specified by:
connectionSuccessin interfaceStreamingExchange
-
disconnectObservable
- Specified by:
disconnectObservablein interfaceStreamingExchange
-
reconnectFailure
- Specified by:
reconnectFailurein interfaceStreamingExchange
-
connectionStateObservable
public io.reactivex.rxjava3.core.Observable<info.bitrich.xchangestream.service.netty.ConnectionStateModel.State> connectionStateObservable()- Specified by:
connectionStateObservablein interfaceStreamingExchange
-
privateConnectionSuccess
-
privateReconnectFailure
-
privateConnectionStateObservable
public io.reactivex.rxjava3.core.Observable<info.bitrich.xchangestream.service.netty.ConnectionStateModel.State> privateConnectionStateObservable() -
privateDisconnectObservable
-
getDefaultExchangeSpecification
public org.knowm.xchange.ExchangeSpecification getDefaultExchangeSpecification()- Specified by:
getDefaultExchangeSpecificationin interfaceorg.knowm.xchange.Exchange- Overrides:
getDefaultExchangeSpecificationin classKrakenExchange
-
getStreamingMarketDataService
- Specified by:
getStreamingMarketDataServicein interfaceStreamingExchange
-
getStreamingTradeService
- Specified by:
getStreamingTradeServicein interfaceStreamingExchange
-
useCompressedMessages
public void useCompressedMessages(boolean compressedMessages) - Specified by:
useCompressedMessagesin interfaceStreamingExchange
-
authData
Gets a WebSocketToken following https://support.kraken.com/hc/en-us/articles/360034664311-How-to-subscribe-to-the-Kraken-WebSocket-private-feedsToken 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
-
resubscribeChannels
public void resubscribeChannels()- Specified by:
resubscribeChannelsin interfaceStreamingExchange
-
getSystemStatusChanges
-
getPublicSubscriptionStatusChanges
public io.reactivex.rxjava3.core.Observable<KrakenSubscriptionStatusMessage> getPublicSubscriptionStatusChanges() -
getPrivateSubscriptionStatusChanges
public io.reactivex.rxjava3.core.Observable<KrakenSubscriptionStatusMessage> getPrivateSubscriptionStatusChanges()
-