From 83fcc10f1bbc3ce1c8e107d0b6652b88eac86bbf Mon Sep 17 00:00:00 2001 From: matst80 Date: Wed, 13 Nov 2024 22:19:50 +0100 Subject: [PATCH] slaskup --- tcp-connection.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tcp-connection.go b/tcp-connection.go index 6b64c2e..f5de9fb 100644 --- a/tcp-connection.go +++ b/tcp-connection.go @@ -166,7 +166,10 @@ func (l *GenericListener) HandleConnection(conn net.Conn) { go WaitForFrame(conn, ch) select { case frame := <-ch: - l.HandleFrame(conn, &frame) + err := l.HandleFrame(conn, &frame) + if err != nil { + log.Fatalf("Error handling frame: %v\n", err) + } case <-time.After(MaxCallDuration): close(ch) log.Printf("Timeout waiting for frame\n") @@ -177,7 +180,7 @@ func (l *GenericListener) AddHandler(msg FrameType, handler func(*FrameWithPaylo l.handlers[msg] = handler } -func (l *GenericListener) HandleFrame(conn net.Conn, frame *FrameWithPayload) { +func (l *GenericListener) HandleFrame(conn net.Conn, frame *FrameWithPayload) error { handler, ok := l.handlers[frame.Type] if ok { go func() { @@ -195,6 +198,7 @@ func (l *GenericListener) HandleFrame(conn net.Conn, frame *FrameWithPayload) { }() } else { conn.Close() - log.Fatalf("No handler for frame type %d\n", frame.Type) + return fmt.Errorf("no handler for frame type %d", frame.Type) } + return nil }