feat: add read timeout for server messages

This commit is contained in:
Sebastian Mark 2024-11-13 17:16:50 +01:00
parent a5afcd2507
commit 9de86fc217

View file

@ -19,6 +19,7 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) {
defer close(Done) defer close(Done)
for { for {
c.Conn.SetReadDeadline(time.Now().Add(10 * time.Second))
_, message, err := c.Conn.ReadMessage() _, message, err := c.Conn.ReadMessage()
if err != nil { if err != nil {
// On normal closure exit gracefully // On normal closure exit gracefully
@ -26,6 +27,7 @@ func (c *Client) ProcessServerMessages(channel chan<- GoTomato.ServerMessage) {
return return
} }
c.LastErr = err
// Try to reconnect on unexpected disconnect // Try to reconnect on unexpected disconnect
for { for {
channel <- prevMessage // send previous ServerMessage to update view channel <- prevMessage // send previous ServerMessage to update view