-
Notifications
You must be signed in to change notification settings - Fork 0
/
stream_callbacks.go
65 lines (49 loc) · 1.83 KB
/
stream_callbacks.go
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
// Code generated by "callbackgen -type Stream -interface"; DO NOT EDIT.
package kucoin
func (s *Stream) OnCandleEvent(cb func(candle *WebSocketCandleEvent, e *WebSocketEvent)) {
s.candleEventCallbacks = append(s.candleEventCallbacks, cb)
}
func (s *Stream) EmitCandleEvent(candle *WebSocketCandleEvent, e *WebSocketEvent) {
for _, cb := range s.candleEventCallbacks {
cb(candle, e)
}
}
func (s *Stream) OnOrderBookL2Event(cb func(e *WebSocketOrderBookL2Event)) {
s.orderBookL2EventCallbacks = append(s.orderBookL2EventCallbacks, cb)
}
func (s *Stream) EmitOrderBookL2Event(e *WebSocketOrderBookL2Event) {
for _, cb := range s.orderBookL2EventCallbacks {
cb(e)
}
}
func (s *Stream) OnTickerEvent(cb func(e *WebSocketTickerEvent)) {
s.tickerEventCallbacks = append(s.tickerEventCallbacks, cb)
}
func (s *Stream) EmitTickerEvent(e *WebSocketTickerEvent) {
for _, cb := range s.tickerEventCallbacks {
cb(e)
}
}
func (s *Stream) OnAccountBalanceEvent(cb func(e *WebSocketAccountBalanceEvent)) {
s.accountBalanceEventCallbacks = append(s.accountBalanceEventCallbacks, cb)
}
func (s *Stream) EmitAccountBalanceEvent(e *WebSocketAccountBalanceEvent) {
for _, cb := range s.accountBalanceEventCallbacks {
cb(e)
}
}
func (s *Stream) OnPrivateOrderEvent(cb func(e *WebSocketPrivateOrderEvent)) {
s.privateOrderEventCallbacks = append(s.privateOrderEventCallbacks, cb)
}
func (s *Stream) EmitPrivateOrderEvent(e *WebSocketPrivateOrderEvent) {
for _, cb := range s.privateOrderEventCallbacks {
cb(e)
}
}
type StreamEventHub interface {
OnCandleEvent(cb func(candle *WebSocketCandleEvent, e *WebSocketEvent))
OnOrderBookL2Event(cb func(e *WebSocketOrderBookL2Event))
OnTickerEvent(cb func(e *WebSocketTickerEvent))
OnAccountBalanceEvent(cb func(e *WebSocketAccountBalanceEvent))
OnPrivateOrderEvent(cb func(e *WebSocketPrivateOrderEvent))
}