fix: adding beforeReconnectFn for reconnecting
This commit is contained in:
@@ -175,6 +175,7 @@ type SafeWebsocketClient struct {
|
||||
|
||||
writeChan chan Message
|
||||
monitor *internal.MemoryMonitor
|
||||
beforeReconnectFn func()
|
||||
}
|
||||
|
||||
|
||||
@@ -288,6 +289,9 @@ func (wsClient *SafeWebsocketClient) reconnectHandler() {
|
||||
continue
|
||||
}
|
||||
log.Println("Reconnected successfully")
|
||||
if wsClient.beforeReconnectFn != nil {
|
||||
wsClient.beforeReconnectFn()
|
||||
}
|
||||
backoff = 1 * time.Second
|
||||
isInnerLoop = false
|
||||
continue
|
||||
@@ -414,6 +418,20 @@ func (wsClient *SafeWebsocketClient) triggerReconnect() {
|
||||
}
|
||||
}
|
||||
|
||||
func (wsClient *SafeWebsocketClient) SetBeforeReconnect(fn func()) {
|
||||
wsClient.mu.WriteHandler(func() error {
|
||||
wsClient.beforeReconnectFn = fn
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func (wsClient *SafeWebsocketClient) SetPath(path string) {
|
||||
wsClient.mu.WriteHandler(func() error {
|
||||
wsClient.path = &path
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func (wsClient *SafeWebsocketClient) ReconnectChannel() <-chan struct{} {
|
||||
reconnectCh := make(chan struct{}, 1)
|
||||
wsClient.mu.WriteHandler(func() error {
|
||||
|
||||
Reference in New Issue
Block a user