@Override public void channelInactive(ChannelHandlerContext ctx) { super.channelInactive(ctx); if (channelInactiveHandler != null) { channelInactiveHandler.onMessage("WebSocket Client disconnected!"); } } }
@Override public void messageHandler(String message) { super.messageHandler(message); }
@Override public void channelActive(ChannelHandlerContext ctx) { super.channelActive(ctx); }
@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
@Override public String getSubscribeMessage(String channelName, Object... args) throws IOException { WebSocketMessage webSocketMessage = new WebSocketMessage("addChannel", channelName); final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); return objectMapper.writeValueAsString(webSocketMessage); }
default void applyStreamingSpecification(ExchangeSpecification exchangeSpec, NettyStreamingService streamingService){ streamingService.setSocksProxyHost((String) exchangeSpec.getExchangeSpecificParametersItem(SOCKS_PROXY_HOST)); streamingService.setSocksProxyPort((Integer) exchangeSpec.getExchangeSpecificParametersItem(SOCKS_PROXY_PORT)); streamingService.setBeforeConnectionHandler((Runnable) exchangeSpec.getExchangeSpecificParametersItem(ConnectableService.BEFORE_CONNECTION_HANDLER)); Boolean accept_all_ceriticates = (Boolean) exchangeSpec.getExchangeSpecificParametersItem(ACCEPT_ALL_CERITICATES); if (accept_all_ceriticates != null && accept_all_ceriticates) { streamingService.setAcceptAllCertificates(true); } Boolean enable_logging_handler = (Boolean) exchangeSpec.getExchangeSpecificParametersItem(ENABLE_LOGGING_HANDLER); if (enable_logging_handler != null && enable_logging_handler) { streamingService.setEnableLoggingHandler(true); } }
@Override public Observable<JsonNode> subscribeChannel(String channelName, Object... args) { if (!channels.containsKey(channelName)) { Observable<JsonNode> subscription = super.subscribeChannel(channelName, args); subscriptions.put(channelName, subscription); } return subscriptions.get(channelName); }
protected void handleMessage(T message) { String channel = getChannel(message); handleChannelMessage(channel, message); }
protected void handleError(T message, Throwable t) { String channel = getChannel(message); handleChannelError(channel, t); }
@Override public void channelInactive(ChannelHandlerContext ctx) { if (pingPongSubscription != null && !pingPongSubscription.isDisposed()) { pingPongSubscription.dispose(); } super.channelInactive(ctx); }
@Override public Completable disconnect() { return super.disconnect(); }
protected WebSocketClientHandler getWebSocketClientHandler(WebSocketClientHandshaker handshaker, WebSocketClientHandler.WebSocketMessageHandler handler) { return new NettyWebSocketClientHandler(handshaker, handler); }
protected String getChannel(T message) { String channel; try { channel = getChannelNameFromMessage(message); } catch (IOException e) { LOG.error("Cannot parse channel from message: {}", message); return ""; } return channel; }
@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
@Override public String getSubscribeMessage(String channelName, Object... args) throws IOException { PoloniexWebSocketSubscriptionMessage subscribeMessage = new PoloniexWebSocketSubscriptionMessage("subscribe", channelName); final ObjectMapper mapper = StreamingObjectMapperHelper.getObjectMapper(); return objectMapper.writeValueAsString(subscribeMessage); }
/** * Subscribes to the provided channel name, maintains a cache of subscriptions, in order not to * subscribe more than once to the same channel. * * @param channelName the name of the requested channel. * @return an Observable of json objects coming from the exchange. */ @Override public Observable<JsonNode> subscribeChannel(String channelName, Object... args) { channelName = SHARE_CHANNEL_NAME; if (!channels.containsKey(channelName) && !subscriptions.containsKey(channelName)) { subscriptions.put(channelName, super.subscribeChannel(channelName, args)); } return subscriptions.get(channelName); }
@Override public void messageHandler(String message) { super.messageHandler(message); }
@Override protected void handleMessage(JsonNode message) { super.handleMessage(message); }
public Observable<JsonNode> subscribeChannel(BinanceWebSocketTypes eventType) { return super.subscribeChannel(eventType.getSerializedValue()); }
@Override protected void handleMessage(JsonNode message) { if (message.has("info") || message.has("success")) { return; } if (message.has("error")) { String error = message.get("error").asText(); LOG.error("Error with message: " + error); return; } super.handleMessage(message); }