-
-
Notifications
You must be signed in to change notification settings - Fork 279
/
standardstream_callbacks.go
115 lines (86 loc) · 2.87 KB
/
standardstream_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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Code generated by "callbackgen -type StandardStream -interface"; DO NOT EDIT.
package types
import ()
func (stream *StandardStream) OnConnect(cb func()) {
stream.connectCallbacks = append(stream.connectCallbacks, cb)
}
func (stream *StandardStream) EmitConnect() {
for _, cb := range stream.connectCallbacks {
cb()
}
}
func (stream *StandardStream) OnTradeUpdate(cb func(trade Trade)) {
stream.tradeUpdateCallbacks = append(stream.tradeUpdateCallbacks, cb)
}
func (stream *StandardStream) EmitTradeUpdate(trade Trade) {
for _, cb := range stream.tradeUpdateCallbacks {
cb(trade)
}
}
func (stream *StandardStream) OnOrderUpdate(cb func(order Order)) {
stream.orderUpdateCallbacks = append(stream.orderUpdateCallbacks, cb)
}
func (stream *StandardStream) EmitOrderUpdate(order Order) {
for _, cb := range stream.orderUpdateCallbacks {
cb(order)
}
}
func (stream *StandardStream) OnBalanceSnapshot(cb func(balances BalanceMap)) {
stream.balanceSnapshotCallbacks = append(stream.balanceSnapshotCallbacks, cb)
}
func (stream *StandardStream) EmitBalanceSnapshot(balances BalanceMap) {
for _, cb := range stream.balanceSnapshotCallbacks {
cb(balances)
}
}
func (stream *StandardStream) OnBalanceUpdate(cb func(balances BalanceMap)) {
stream.balanceUpdateCallbacks = append(stream.balanceUpdateCallbacks, cb)
}
func (stream *StandardStream) EmitBalanceUpdate(balances BalanceMap) {
for _, cb := range stream.balanceUpdateCallbacks {
cb(balances)
}
}
func (stream *StandardStream) OnKLineClosed(cb func(kline KLine)) {
stream.kLineClosedCallbacks = append(stream.kLineClosedCallbacks, cb)
}
func (stream *StandardStream) EmitKLineClosed(kline KLine) {
for _, cb := range stream.kLineClosedCallbacks {
cb(kline)
}
}
func (stream *StandardStream) OnKLine(cb func(kline KLine)) {
stream.kLineCallbacks = append(stream.kLineCallbacks, cb)
}
func (stream *StandardStream) EmitKLine(kline KLine) {
for _, cb := range stream.kLineCallbacks {
cb(kline)
}
}
func (stream *StandardStream) OnBookUpdate(cb func(book OrderBook)) {
stream.bookUpdateCallbacks = append(stream.bookUpdateCallbacks, cb)
}
func (stream *StandardStream) EmitBookUpdate(book OrderBook) {
for _, cb := range stream.bookUpdateCallbacks {
cb(book)
}
}
func (stream *StandardStream) OnBookSnapshot(cb func(book OrderBook)) {
stream.bookSnapshotCallbacks = append(stream.bookSnapshotCallbacks, cb)
}
func (stream *StandardStream) EmitBookSnapshot(book OrderBook) {
for _, cb := range stream.bookSnapshotCallbacks {
cb(book)
}
}
type StandardStreamEventHub interface {
OnConnect(cb func())
OnTradeUpdate(cb func(trade Trade))
OnOrderUpdate(cb func(order Order))
OnBalanceSnapshot(cb func(balances BalanceMap))
OnBalanceUpdate(cb func(balances BalanceMap))
OnKLineClosed(cb func(kline KLine))
OnKLine(cb func(kline KLine))
OnBookUpdate(cb func(book OrderBook))
OnBookSnapshot(cb func(book OrderBook))
}