slaskup
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user