From e94bbb8901c4673020a5213c3ce4db31fa56a28d Mon Sep 17 00:00:00 2001 From: qowevisa Date: Sat, 12 Oct 2024 12:35:14 +0300 Subject: [PATCH] Add errors check if ErrorChannel or ErrorResolver is nil on StartClient --- tcpclient/client.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tcpclient/client.go b/tcpclient/client.go index 461fc3e..82fc1f9 100644 --- a/tcpclient/client.go +++ b/tcpclient/client.go @@ -53,7 +53,21 @@ func CreateClient(addr string, options ...ClientOption) *Client { } } +var ( + ERROR_CLIENT_ERRRSL_NIL = errors.New("Error Resolver is nil") + ERROR_CLIENT_ERRCHL_NIL = errors.New("Error Channel is nil") +) + func (c *Client) StartClient() error { + if c.Status&statusBitCustomErrorHandling == 0 { + if c.ErrorResolver == nil { + return fmt.Errorf("Can't start client: %w", ERROR_CLIENT_ERRRSL_NIL) + } + if c.ErrorResolver == nil { + return fmt.Errorf("Can't start client: %w", ERROR_CLIENT_ERRCHL_NIL) + } + go c.ErrorResolver(c.ErrorsChannel) + } server, err := net.Dial("tcp", c.addr) if err != nil { return fmt.Errorf("net.Dial: %w", err)