forked from f0cii/bybit-api
/
process.go
57 lines (44 loc) · 1.32 KB
/
process.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
package ws
func (b *ByBitWS) processOrderBookSnapshot(symbol string, ob ...*OrderBookL2) { // ob []*OrderBookL2
var value *OrderBookLocal
var ok bool
value, ok = b.orderBookLocals[symbol]
if !ok {
value = NewOrderBookLocal()
b.orderBookLocals[symbol] = value
}
value.LoadSnapshot(ob)
b.Emit(WSOrderBook25L1, symbol, value.GetOrderBook())
}
func (b *ByBitWS) processOrderBookDelta(symbol string, delta *OrderBookL2Delta) {
value, ok := b.orderBookLocals[symbol]
if !ok {
return
}
value.Update(delta)
b.Emit(WSOrderBook25L1, symbol, value.GetOrderBook())
}
func (b *ByBitWS) processTrade(symbol string, data ...*Trade) {
b.Emit(WSTrade, symbol, data)
}
func (b *ByBitWS) processKLine(symbol string, data KLine) {
b.Emit(WSKLine, symbol, data)
}
func (b *ByBitWS) processTickers(symbol string, data BookTicker) {
b.Emit(WSBookTicker, symbol, data)
}
func (b *ByBitWS) processInsurance(currency string, data ...*Insurance) {
b.Emit(WSInsurance, currency, data)
}
func (b *ByBitWS) processInstrument(symbol string, data ...*Instrument) {
b.Emit(WSInstrument, symbol, data)
}
func (b *ByBitWS) processPosition(data ...*Position) {
b.Emit(WSPosition, data)
}
func (b *ByBitWS) processExecution(data ...*Execution) {
b.Emit(WSExecution, data)
}
func (b *ByBitWS) processOrder(data ...*Order) {
b.Emit(WSOrder, data)
}