package models // type Clients map[string]Client // type Client struct { // Connected *bool `json:"connected"` // SndConn *websocket.Conn `json:"-"` //sending connection // RvcConn *websocket.Conn `json:"-"` // revieving connection // } // func NewClients() Clients { // return make(Clients) // } // // Connect a recieving websocket connection // func (c *Clients) ConnectRecievingWsConnection(id string, ctx *gin.Context) (*websocket.Conn, error) { // conn, err := websocket.Accept(ctx.Writer, ctx.Request, &websocket.AcceptOptions{ // OriginPatterns: []string{"*"}, // }) // if err != nil { // return nil, fmt.Errorf("error accept websocket client: %s", err) // } // b := true // (*c)[id] = Client{ // Connected: &b, // RvcConn: conn, // } // return conn, nil // } // func (c *Clients) RemoveClient(id string) { // delete(*c, id) // } // func (c *Clients) GetClientPointer(id string) *bool { // return (*c)[id].Connected // } // func (c *Clients) DisconnectRecievingWsConnection(id string, code websocket.StatusCode, reason string) { // *(*c)[id].Connected = false // (*c)[id].RvcConn.Close(code, reason) // }