27 lines
401 B
Go
27 lines
401 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"sync"
|
||
|
|
||
|
"github.com/gorilla/websocket"
|
||
|
)
|
||
|
|
||
|
type chatConnection struct {
|
||
|
*websocket.Conn
|
||
|
mutex sync.Mutex
|
||
|
}
|
||
|
|
||
|
func (cc *chatConnection) ReadData(data interface{}) error {
|
||
|
defer cc.mutex.Unlock()
|
||
|
cc.mutex.Lock()
|
||
|
|
||
|
return cc.ReadJSON(data)
|
||
|
}
|
||
|
|
||
|
func (cc *chatConnection) WriteData(data interface{}) error {
|
||
|
defer cc.mutex.Unlock()
|
||
|
cc.mutex.Lock()
|
||
|
|
||
|
return cc.WriteJSON(data)
|
||
|
}
|