mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 03:42:08 +08:00
add context life cycle control.
This commit is contained in:
parent
557a5a3b46
commit
1b1bc0b756
@ -138,6 +138,7 @@ func (c *Client) readMessage() {
|
|||||||
if returnErr != nil {
|
if returnErr != nil {
|
||||||
log.ZWarn(c.ctx, "readMessage", returnErr, "messageType", messageType)
|
log.ZWarn(c.ctx, "readMessage", returnErr, "messageType", messageType)
|
||||||
c.closedErr = returnErr
|
c.closedErr = returnErr
|
||||||
|
<-c.ctx.Done()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,6 +146,7 @@ func (c *Client) readMessage() {
|
|||||||
if c.closed.Load() {
|
if c.closed.Load() {
|
||||||
// The scenario where the connection has just been closed, but the coroutine has not exited
|
// The scenario where the connection has just been closed, but the coroutine has not exited
|
||||||
c.closedErr = ErrConnClosed
|
c.closedErr = ErrConnClosed
|
||||||
|
<-c.ctx.Done()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,10 +156,12 @@ func (c *Client) readMessage() {
|
|||||||
parseDataErr := c.handleMessage(message)
|
parseDataErr := c.handleMessage(message)
|
||||||
if parseDataErr != nil {
|
if parseDataErr != nil {
|
||||||
c.closedErr = parseDataErr
|
c.closedErr = parseDataErr
|
||||||
|
<-c.ctx.Done()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case MessageText:
|
case MessageText:
|
||||||
c.closedErr = ErrNotSupportMessageProtocol
|
c.closedErr = ErrNotSupportMessageProtocol
|
||||||
|
<-c.ctx.Done()
|
||||||
return
|
return
|
||||||
|
|
||||||
case PingMessage:
|
case PingMessage:
|
||||||
@ -166,7 +170,9 @@ func (c *Client) readMessage() {
|
|||||||
|
|
||||||
case CloseMessage:
|
case CloseMessage:
|
||||||
c.closedErr = ErrClientClosed
|
c.closedErr = ErrClientClosed
|
||||||
|
<-c.ctx.Done()
|
||||||
return
|
return
|
||||||
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user