1
Fork 0

Move dead errors into webclient.

This commit is contained in:
Juliusz Chroboczek 2020-05-30 12:38:13 +02:00
parent 2dd230ca45
commit 32e8f08b8d
2 changed files with 5 additions and 14 deletions

View File

@ -315,18 +315,6 @@ func (g *group) getChatHistory() []chatHistoryEntry {
return h
}
type writerDeadError int
func (err writerDeadError) Error() string {
return "client writer died"
}
type clientDeadError int
func (err clientDeadError) Error() string {
return "client dead"
}
type groupUser struct {
Username string `json:"username,omitempty"`
Password string `json:"password,omitempty"`

View File

@ -1732,12 +1732,15 @@ func clientWriter(conn *websocket.Conn, ch <-chan interface{}, done chan<- struc
}
}
var ErrWriterDead = errors.New("client writer died")
var ErrClientDead = errors.New("client dead")
func (c *webClient) action(m interface{}) error {
select {
case c.actionCh <- m:
return nil
case <-c.done:
return clientDeadError(0)
return ErrClientDead
}
}
@ -1746,7 +1749,7 @@ func (c *webClient) write(m clientMessage) error {
case c.writeCh <- m:
return nil
case <-c.writerDone:
return writerDeadError(0)
return ErrWriterDead
}
}