ipo
zyy
2025-12-30 d9430c2ed4e2bc3564f4c9057563dd5f5605f28b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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.");
  }
 
 
}