update error handling in tcp call hander
This commit is contained in:
2
main.go
2
main.go
@@ -223,7 +223,7 @@ func main() {
|
|||||||
}(conn)
|
}(conn)
|
||||||
}(l)
|
}(l)
|
||||||
} else {
|
} else {
|
||||||
log.Println("Error creating echo server: %v\n", err)
|
log.Printf("Error creating echo server: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
sigs := make(chan os.Signal, 1)
|
sigs := make(chan os.Signal, 1)
|
||||||
|
|||||||
@@ -174,7 +174,7 @@ func (l *GenericListener) HandleConnection(conn net.Conn) {
|
|||||||
case frame := <-ch:
|
case frame := <-ch:
|
||||||
err := l.HandleFrame(conn, &frame)
|
err := l.HandleFrame(conn, &frame)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Error handling frame: %v\n", err)
|
log.Fatalf("Error in handler: %v\n", err)
|
||||||
}
|
}
|
||||||
case <-time.After(MaxCallDuration):
|
case <-time.After(MaxCallDuration):
|
||||||
close(ch)
|
close(ch)
|
||||||
@@ -194,7 +194,8 @@ func (l *GenericListener) HandleFrame(conn net.Conn, frame *FrameWithPayload) er
|
|||||||
defer close(resultChan)
|
defer close(resultChan)
|
||||||
err := handler(frame, resultChan)
|
err := handler(frame, resultChan)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Error handling frame: %v\n", err)
|
resultChan <- MakeFrameWithPayload(frame.Type, 500, []byte(err.Error()))
|
||||||
|
log.Printf("Handler returned error: %s", err)
|
||||||
}
|
}
|
||||||
result := <-resultChan
|
result := <-resultChan
|
||||||
err = SendFrame(conn, &result)
|
err = SendFrame(conn, &result)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ func TestGenericConnection(t *testing.T) {
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
listener.AddHandler(3, func(input *FrameWithPayload, resultChan chan<- FrameWithPayload) error {
|
listener.AddHandler(3, func(input *FrameWithPayload, resultChan chan<- FrameWithPayload) error {
|
||||||
return fmt.Errorf("Error")
|
return fmt.Errorf("Error in custom handler")
|
||||||
})
|
})
|
||||||
r, err := conn.Call(1, datta)
|
r, err := conn.Call(1, datta)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user