slaskup
All checks were successful
Build and Publish / BuildAndDeployAmd64 (push) Successful in 56s
Build and Publish / BuildAndDeploy (push) Successful in 2m19s

This commit is contained in:
matst80
2024-11-13 22:19:50 +01:00
parent 2a7f279cd5
commit 83fcc10f1b

View File

@@ -166,7 +166,10 @@ func (l *GenericListener) HandleConnection(conn net.Conn) {
go WaitForFrame(conn, ch) go WaitForFrame(conn, ch)
select { select {
case frame := <-ch: 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): case <-time.After(MaxCallDuration):
close(ch) close(ch)
log.Printf("Timeout waiting for frame\n") log.Printf("Timeout waiting for frame\n")
@@ -177,7 +180,7 @@ func (l *GenericListener) AddHandler(msg FrameType, handler func(*FrameWithPaylo
l.handlers[msg] = handler 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] handler, ok := l.handlers[frame.Type]
if ok { if ok {
go func() { go func() {
@@ -195,6 +198,7 @@ func (l *GenericListener) HandleFrame(conn net.Conn, frame *FrameWithPayload) {
}() }()
} else { } else {
conn.Close() 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
} }