Skip to content

Commit

Permalink
Merge pull request #33 from lamengao/miniticker
Browse files Browse the repository at this point in the history
Add support for individual symbol mini ticker stream
  • Loading branch information
alplabin authored Aug 23, 2024
2 parents 695f92b + 67a764d commit 2c15779
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions websocket_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,28 @@ type WsMarketMiniStatEvent struct {
QuoteVolume string `json:"q"`
}

// WsMarketMiniTickersStatHandler handle websocket that push single market statistics for 24hr
type WsMarketMiniTickersStatHandler func(event WsMarketMiniTickerStatEvent)

// WsMarketMiniTickersStatServe serve websocket that push mini version of 24hr statistics for single market every second
func (c *WebsocketStreamClient) WsMarketMiniTickersStatServe(symbol string, handler WsMarketMiniTickersStatHandler, errHandler ErrHandler) (doneCh, stopCh chan struct{}, err error) {
endpoint := fmt.Sprintf("%s/%s@miniTicker", c.Endpoint, strings.ToLower(symbol))
cfg := newWsConfig(endpoint)
wsHandler := func(message []byte) {
var event WsMarketMiniTickerStatEvent
err := json.Unmarshal(message, &event)
if err != nil {
errHandler(err)
return
}
handler(event)
}
return wsServe(cfg, wsHandler, errHandler)
}

// WsMarketMiniTickerStatEvent define array of websocket market mini-ticker statistics events
type WsMarketMiniTickerStatEvent *WsMarketMiniStatEvent

// WsBookTickerEvent define websocket best book ticker event.
type WsBookTickerEvent struct {
UpdateID int64 `json:"u"`
Expand Down

0 comments on commit 2c15779

Please sign in to comment.