From 4792d638c11b2088a4e8393b83b1cc1274ecfd37 Mon Sep 17 00:00:00 2001 From: Roger Ferdinan Date: Sat, 27 Sep 2025 05:27:57 +0700 Subject: [PATCH] feat: adding channelSize to safe websocket client --- v1/client/client.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/v1/client/client.go b/v1/client/client.go index 9ae7dee..42f9869 100644 --- a/v1/client/client.go +++ b/v1/client/client.go @@ -101,7 +101,7 @@ func (b *SafeWebsocketClientBuilder) RawQuery(rawQuery string) *SafeWebsocketCli return b } -func (b *SafeWebsocketClientBuilder) Build() (*SafeWebsocketClient, error) { +func (b *SafeWebsocketClientBuilder) Build(channelSize int) (*SafeWebsocketClient, error) { if err := internal.NilChecker(b); err != nil { return nil, err } @@ -117,7 +117,7 @@ func (b *SafeWebsocketClientBuilder) Build() (*SafeWebsocketClient, error) { useTLS: useTLS, path: b.path, rawQuery: b.rawQuery, - dataChannel: make(chan []byte, 1), + dataChannel: make(chan []byte, channelSize), mu: custom_rwmutex.NewCustomRwMutex(), reconnectCh: make(chan struct{}, 1), isConnected: false, @@ -275,6 +275,9 @@ func (wsClient *SafeWebsocketClient) reconnectHandler() { backoff := 1 * time.Second maxBackoff := 30 * time.Second for { + if wsClient.ctx == nil { + continue + } select { case <-wsClient.reconnectCh: log.Println("Reconnect triggered")