com.xeiam.xchange.mexbt.service.streaming.MeXBTTickerClientEndpoint Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xchange-mexbt Show documentation
Show all versions of xchange-mexbt Show documentation
XChange implementation for the Mexican Bitcoin Exchange.
The newest version!
package com.xeiam.xchange.mexbt.service.streaming;
import java.util.concurrent.BlockingQueue;
import javax.websocket.ClientEndpoint;
import javax.websocket.CloseReason;
import javax.websocket.EndpointConfig;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.xeiam.xchange.mexbt.dto.streaming.MeXBTStreamingTicker;
import com.xeiam.xchange.service.streaming.DefaultExchangeEvent;
import com.xeiam.xchange.service.streaming.ExchangeEvent;
import com.xeiam.xchange.service.streaming.ExchangeEventType;
@ClientEndpoint(decoders = MeXBTTickerDecoder.class)
public final class MeXBTTickerClientEndpoint {
private final Logger log = LoggerFactory.getLogger(MeXBTTickerClientEndpoint.class);
private final BlockingQueue exchangeEvents;
public MeXBTTickerClientEndpoint(BlockingQueue exchangeEvents) {
this.exchangeEvents = exchangeEvents;
}
@OnOpen
public void onOpen(Session session, EndpointConfig config) {
String msg = "{\"messageType\":\"logon\"}";
log.trace("onOpen: {}", msg);
session.getAsyncRemote().sendText(msg);
}
@OnMessage
public void onMessage(Session session, MeXBTStreamingTicker ticker) throws InterruptedException {
log.trace("onMessage: {}", ticker);
exchangeEvents.put(new DefaultExchangeEvent(ExchangeEventType.TICKER, null, ticker));
}
@OnClose
public void onClose(Session session, CloseReason reason) {
log.trace("close: {}, reason: {}", session, reason);
}
@OnError
public void onError(Session session, Throwable throwable) {
log.trace("error: {}", session, throwable);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy