/** * Handle a new candle * @param symbol * @param candle */ public void handleNewTick(final BitfinexTickerSymbol currencyPair, final BitfinexTick tick) { updateChannelHeartbeat(currencyPair); tickerCallbacks.handleEvent(currencyPair, tick); }
/** * Process a list with candles * @param symbol * @param ticksArray */ public void handleCandleCollection(final BitfinexTickerSymbol symbol, final List<BitfinexTick> candles) { updateChannelHeartbeat(symbol); tickerCallbacks.handleEventsCollection(symbol, candles); }
/** * Handle a new executed trade * @param symbol * @param tick */ public void handleExecutedTradeEntry(final BitfinexExecutedTradeSymbol tradeSymbol, final BitfinexExecutedTrade entry) { tradesCallbacks.handleEvent(tradeSymbol, entry); }
public SimpleBitfinexApiBroker(final BitfinexWebsocketConfiguration config, final BitfinexApiCallbackRegistry callbackRegistry, final SequenceNumberAuditor sequenceNumberAuditor, final boolean skipConnectionStateNotification) { this.configuration = new BitfinexWebsocketConfiguration(config); this.callbackRegistry = callbackRegistry; this.skipConnectionStateNotification = skipConnectionStateNotification; this.channelIdToHandlerMap = new ConcurrentHashMap<>(); this.permissions = BitfinexApiKeyPermissions.NO_PERMISSIONS; this.sequenceNumberAuditor = sequenceNumberAuditor; this.lastHeartbeat = new AtomicLong(0); this.orderbookManager = new OrderbookManager(this, configuration.getExecutorService()); this.rawOrderbookManager = new RawOrderbookManager(this, configuration.getExecutorService()); this.orderManager = new OrderManager(this, configuration.getExecutorService()); this.tradeManager = new TradeManager(this, configuration.getExecutorService()); this.positionManager = new PositionManager(this, configuration.getExecutorService()); this.walletManager = new WalletManager(this, configuration.getExecutorService()); this.quoteManager = new QuoteManager(this, configuration.getExecutorService()); this.connectionFeatureManager = new ConnectionFeatureManager(this, configuration.getExecutorService()); setupCommandCallbacks(); }
public RawOrderbookManager(final BitfinexWebsocketClient client, ExecutorService executorService) { super(client, executorService); this.channelCallbacks = new BiConsumerCallbackManager<>(executorService, client); client.getCallbacks().onRawOrderbookEvent((sym, entries) -> { entries.forEach(e -> handleNewOrderbookEntry(sym, e)); }); }
/** * Register a new trading orderbook callback * @param symbol * @param callback * @throws BitfinexClientException */ public void registerOrderbookCallback(final BitfinexOrderBookSymbol symbol, final BiConsumer<BitfinexOrderBookSymbol, BitfinexOrderBookEntry> callback) throws BitfinexClientException { channelCallbacks.registerCallback(symbol, callback); }
/** * Remove the a trading orderbook callback * @param symbol * @param callback * @return true/false * @throws BitfinexClientException */ public boolean removeOrderbookCallback(final BitfinexOrderBookSymbol symbol, final BiConsumer<BitfinexOrderBookSymbol, BitfinexOrderBookEntry> callback) throws BitfinexClientException { return channelCallbacks.removeCallback(symbol, callback); }
/** * Process a list with candlesticks * @param symbol * @param ticksArray */ public void handleCandlestickCollection(final BitfinexCandlestickSymbol symbol, final Collection<BitfinexCandle> ticksBuffer) { candleCallbacks.handleEventsCollection(symbol, ticksBuffer); }
/** * The the future to done */ public void setToDone() { if(! isDone()) { doneLatch.countDown(); } }
/** * Handle a new candlestick * @param symbol * @param tick */ public void handleNewCandlestick(final BitfinexCandlestickSymbol currencyPair, final BitfinexCandle tick) { updateChannelHeartbeat(currencyPair); candleCallbacks.handleEvent(currencyPair, tick); }
/** * Register a new executed trade callback * @param symbol * @param callback * @throws BitfinexClientException */ public void registerExecutedTradeCallback(final BitfinexExecutedTradeSymbol orderbookConfiguration, final BiConsumer<BitfinexExecutedTradeSymbol, BitfinexExecutedTrade> callback) throws BitfinexClientException { tradesCallbacks.registerCallback(orderbookConfiguration, callback); }
/** * Remove the a trading orderbook callback */ public boolean removeOrderbookCallback(final BitfinexOrderBookSymbol orderbookConfiguration, final BiConsumer<BitfinexOrderBookSymbol, BitfinexOrderBookEntry> callback) throws BitfinexClientException { return channelCallbacks.removeCallback(orderbookConfiguration, callback); }
/** * Handle a new orderbook entry */ public void handleNewOrderbookEntry(final BitfinexOrderBookSymbol configuration, final BitfinexOrderBookEntry entry) { channelCallbacks.handleEvent(configuration, entry); } }
/** * Register a new tick callback * @param symbol * @param callback * @throws BitfinexClientException */ public void registerTickCallback(final BitfinexTickerSymbol symbol, final BiConsumer<BitfinexTickerSymbol, BitfinexTick> callback) throws BitfinexClientException { tickerCallbacks.registerCallback(symbol, callback); }
/** * Remove the a tick callback * @param symbol * @param callback * @return * @throws BitfinexClientException */ public boolean removeTickCallback(final BitfinexTickerSymbol symbol, final BiConsumer<BitfinexTickerSymbol, BitfinexTick> callback) throws BitfinexClientException { return tickerCallbacks.removeCallback(symbol, callback); }
/** * Handle a new orderbook entry * @param symbol * @param entry */ public void handleNewOrderbookEntry(final BitfinexOrderBookSymbol symbol, final BitfinexOrderBookEntry entry) { channelCallbacks.handleEvent(symbol, entry); } }
/** * Register a new candlestick callback * @param symbol * @param callback * @throws BitfinexClientException */ public void registerCandlestickCallback(final BitfinexCandlestickSymbol symbol, final BiConsumer<BitfinexCandlestickSymbol, BitfinexCandle> callback) throws BitfinexClientException { candleCallbacks.registerCallback(symbol, callback); }
/** * Remove the a candlestick callback * @param symbol * @param callback * @return * @throws BitfinexClientException */ public boolean removeCandlestickCallback(final BitfinexCandlestickSymbol symbol, final BiConsumer<BitfinexCandlestickSymbol, BitfinexCandle> callback) throws BitfinexClientException { return candleCallbacks.removeCallback(symbol, callback); }
/** * Register a new trading orderbook callback * @throws BitfinexClientException */ public void registerOrderbookCallback(final BitfinexOrderBookSymbol orderbookConfiguration, final BiConsumer<BitfinexOrderBookSymbol, BitfinexOrderBookEntry> callback) throws BitfinexClientException { channelCallbacks.registerCallback(orderbookConfiguration, callback); }
/** * Remove a executed trade callback * @param symbol * @param callback * @return * @throws BitfinexClientException */ public boolean removeExecutedTradeCallback(final BitfinexExecutedTradeSymbol tradeSymbol, final BiConsumer<BitfinexExecutedTradeSymbol, BitfinexExecutedTrade> callback) throws BitfinexClientException { return tradesCallbacks.removeCallback(tradeSymbol, callback); }