replace zxq.co/ripple/hanayo
This commit is contained in:
42
vendor/zxq.co/ripple/rippleapi/app/websockets/websockets.go
vendored
Normal file
42
vendor/zxq.co/ripple/rippleapi/app/websockets/websockets.go
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
// 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()
|
||||
go matchRetriever()
|
||||
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()
|
||||
multiSubscriptionsMtx.Lock()
|
||||
for idx, el := range multiSubscriptions {
|
||||
if el.ID == connID {
|
||||
multiSubscriptions[idx] = multiSubscriptions[len(multiSubscriptions)-1]
|
||||
multiSubscriptions = multiSubscriptions[:len(multiSubscriptions)-1]
|
||||
break
|
||||
}
|
||||
}
|
||||
multiSubscriptionsMtx.Unlock()
|
||||
}
|
Reference in New Issue
Block a user