mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-07 23:16:53 +00:00
engine: Add websocket data handler register function (#935)
* engine: Add websocket interceptor register function * Update engine/engine.go Co-authored-by: Scott <gloriousCode@users.noreply.github.com> * Update engine/websocketroutine_manager_types.go Co-authored-by: Scott <gloriousCode@users.noreply.github.com> * engine/websock: switch to data handler function register and range over handlers to still include default gct handling * engine/websocket: change name * glorious: nits * linter: fix * glorious: nits Co-authored-by: Scott <gloriousCode@users.noreply.github.com>
This commit is contained in:
@@ -948,3 +948,23 @@ func (bot *Engine) SetupExchanges() error {
|
||||
func (bot *Engine) WaitForInitialCurrencySync() error {
|
||||
return bot.currencyPairSyncer.WaitForInitialSync()
|
||||
}
|
||||
|
||||
// RegisterWebsocketDataHandler registers an externally defined data handler
|
||||
// for diverting and handling websocket notifications across all enabled
|
||||
// exchanges. InterceptorOnly as true will purge all other registered handlers
|
||||
// (including default) bypassing all other handling.
|
||||
func (bot *Engine) RegisterWebsocketDataHandler(fn WebsocketDataHandler, interceptorOnly bool) error {
|
||||
if bot == nil {
|
||||
return errNilBot
|
||||
}
|
||||
return bot.websocketRoutineManager.registerWebsocketDataHandler(fn, interceptorOnly)
|
||||
}
|
||||
|
||||
// SetDefaultWebsocketDataHandler sets the default websocket handler and
|
||||
// removing all pre-existing handlers
|
||||
func (bot *Engine) SetDefaultWebsocketDataHandler() error {
|
||||
if bot == nil {
|
||||
return errNilBot
|
||||
}
|
||||
return bot.websocketRoutineManager.setWebsocketDataHandler(bot.websocketRoutineManager.websocketDataHandler)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user