// Package websockets implements functionality related to the API websockets. package websockets import ( "github.com/jmoiron/sqlx" "gopkg.in/redis.v5" ) var ( red *redis.Client db *sqlx.DB ) // Start begins websocket functionality func Start(r *redis.Client, _db *sqlx.DB) error { red = r db = _db go scoreRetriever() return nil } func cleanup(connID uint64) { scoreSubscriptionsMtx.Lock() for idx, el := range scoreSubscriptions { if el.Conn.ID == connID { scoreSubscriptions[idx] = scoreSubscriptions[len(scoreSubscriptions)-1] scoreSubscriptions = scoreSubscriptions[:len(scoreSubscriptions)-1] break } } scoreSubscriptionsMtx.Unlock() }