add disconnect callbacks on stream

This commit is contained in:
c9s 2021-03-15 09:49:22 +08:00
parent e0d7fefbf2
commit c788601856
2 changed files with 14 additions and 0 deletions

View File

@ -14,6 +14,16 @@ func (stream *StandardStream) EmitConnect() {
}
}
func (stream *StandardStream) OnDisconnect(cb func()) {
stream.disconnectCallbacks = append(stream.disconnectCallbacks, cb)
}
func (stream *StandardStream) EmitDisconnect() {
for _, cb := range stream.disconnectCallbacks {
cb()
}
}
func (stream *StandardStream) OnTradeUpdate(cb func(trade Trade)) {
stream.tradeUpdateCallbacks = append(stream.tradeUpdateCallbacks, cb)
}
@ -97,6 +107,8 @@ func (stream *StandardStream) EmitBookSnapshot(book OrderBook) {
type StandardStreamEventHub interface {
OnConnect(cb func())
OnDisconnect(cb func())
OnTradeUpdate(cb func(trade Trade))
OnOrderUpdate(cb func(order Order))

View File

@ -25,6 +25,8 @@ type StandardStream struct {
connectCallbacks []func()
disconnectCallbacks []func()
// private trade update callbacks
tradeUpdateCallbacks []func(trade Trade)