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