package com.yami.trading.huobi.websocket.client;
|
|
import java.util.List;
|
|
import com.yami.trading.huobi.websocket.client.req.market.*;
|
import com.yami.trading.huobi.websocket.constant.Options;
|
import com.yami.trading.huobi.websocket.constant.enums.ExchangeEnum;
|
import com.yami.trading.huobi.websocket.exception.SDKException;
|
import com.yami.trading.huobi.websocket.model.market.*;
|
import com.yami.trading.huobi.websocket.service.huobi.HuobiMarketService;
|
import com.yami.trading.huobi.websocket.service.huobi.connection.HuobiWebSocketConnection;
|
import com.yami.trading.huobi.websocket.utils.ResponseCallback;
|
import com.yami.trading.huobi.websocket.utils.WebSocketConnection;
|
|
public interface MarketClient {
|
|
List<Candlestick> getCandlestick(CandlestickRequest request);
|
|
MarketDetailMerged getMarketDetailMerged(MarketDetailMergedRequest request);
|
|
MarketDetail getMarketDetail(MarketDetailRequest request);
|
|
List<MarketTicker> getTickers();
|
|
MarketDepth getMarketDepth(MarketDepthRequest request);
|
|
List<MarketTrade> getMarketTrade(MarketTradeRequest request);
|
|
List<MarketTrade> getMarketHistoryTrade(MarketHistoryTradeRequest request);
|
|
void subCandlestick(SubCandlestickRequest request, ResponseCallback<CandlestickEvent> callback);
|
|
void subMarketDetail(SubMarketDetailRequest request, ResponseCallback<MarketDetailEvent> callback);
|
|
void subMarketDepth(SubMarketDepthRequest request, ResponseCallback<MarketDepthEvent> callback);
|
|
void subMarketTrade(SubMarketTradeRequest request, ResponseCallback<MarketTradeEvent> callback);
|
|
void subMarketBBO(SubMarketBBORequest request, ResponseCallback<MarketBBOEvent> callback);
|
|
void subMbpRefreshUpdate(SubMbpRefreshUpdateRequest request, ResponseCallback<MbpRefreshUpdateEvent> callback);
|
|
WebSocketConnection subMbpIncrementalUpdate(SubMbpIncrementalUpdateRequest request, ResponseCallback<MbpIncrementalUpdateEvent> callback);
|
|
void subMarketTicker(SubMarketTickerRequest request, ResponseCallback<MarketTickerEvent> callback);
|
WebSocketConnection reqMbpIncrementalUpdate(SubMbpIncrementalUpdateRequest request, WebSocketConnection connection);
|
|
void reqCandlestick(ReqCandlestickRequest request, ResponseCallback<CandlestickReq> callback);
|
|
void reqMarketDepth(ReqMarketDepthRequest request, ResponseCallback<MarketDepthReq> callback);
|
|
void reqMarketTrade(ReqMarketTradeRequest request, ResponseCallback<MarketTradeReq> callback);
|
|
void reqMarketTicker(ReqMarketTickerRequest request, ResponseCallback<MarketTickerReq> callback);
|
|
void reqMarketDetail(ReqMarketDetailRequest request, ResponseCallback<MarketDetailReq> callback);
|
|
static MarketClient create(Options options) {
|
|
if (options.getExchange().equals(ExchangeEnum.HUOBI)) {
|
return new HuobiMarketService(options);
|
}
|
throw new SDKException(SDKException.INPUT_ERROR, "Unsupport Exchange.");
|
}
|
|
|
}
|