mirror of
https://github.com/m1k1o/neko.git
synced 2025-07-25 20:49:05 +02:00
Destroy() does not return error.
This commit is contained in:
parent
a03507227d
commit
a95a987fb6
8 changed files with 37 additions and 63 deletions
|
@ -10,7 +10,6 @@ import (
|
|||
"demodesk/neko/internal/types"
|
||||
"demodesk/neko/internal/types/event"
|
||||
"demodesk/neko/internal/types/message"
|
||||
"demodesk/neko/internal/utils"
|
||||
)
|
||||
|
||||
type WebSocketPeerCtx struct {
|
||||
|
@ -41,24 +40,27 @@ func (peer *WebSocketPeerCtx) Send(v interface{}) error {
|
|||
return peer.connection.WriteMessage(websocket.TextMessage, raw)
|
||||
}
|
||||
|
||||
func (peer *WebSocketPeerCtx) Destroy() error {
|
||||
func (peer *WebSocketPeerCtx) Destroy() {
|
||||
peer.mu.Lock()
|
||||
defer peer.mu.Unlock()
|
||||
|
||||
if peer.connection == nil {
|
||||
return nil
|
||||
return
|
||||
}
|
||||
|
||||
var errs []error
|
||||
|
||||
// send disconnect
|
||||
err := peer.Send(
|
||||
if err := peer.Send(
|
||||
message.SystemDisconnect{
|
||||
Event: event.SYSTEM_DISCONNECT,
|
||||
Message: "connection destroyed",
|
||||
})
|
||||
errs = append(errs, err)
|
||||
}); err != nil {
|
||||
peer.logger.Warn().Err(err).Msg("failed to send disconnect event")
|
||||
}
|
||||
|
||||
// close connection
|
||||
err = peer.connection.Close()
|
||||
errs = append(errs, err)
|
||||
if err := peer.connection.Close(); err != nil {
|
||||
peer.logger.Warn().Err(err).Msg("peer connection destroyed with an error")
|
||||
} else {
|
||||
peer.logger.Info().Msg("peer connection destroyed")
|
||||
}
|
||||
|
||||
return utils.ErrorsJoin(errs)
|
||||
peer.connection = nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue