mirror of
https://github.com/eiblog/eiblog.git
synced 2026-03-01 00:34:58 +08:00
add vendor
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
package main
|
||||
|
||||
import "github.com/dustin/go-broadcast"
|
||||
|
||||
var roomChannels = make(map[string]broadcast.Broadcaster)
|
||||
|
||||
func openListener(roomid string) chan interface{} {
|
||||
listener := make(chan interface{})
|
||||
room(roomid).Register(listener)
|
||||
return listener
|
||||
}
|
||||
|
||||
func closeListener(roomid string, listener chan interface{}) {
|
||||
room(roomid).Unregister(listener)
|
||||
close(listener)
|
||||
}
|
||||
|
||||
func deleteBroadcast(roomid string) {
|
||||
b, ok := roomChannels[roomid]
|
||||
if ok {
|
||||
b.Close()
|
||||
delete(roomChannels, roomid)
|
||||
}
|
||||
}
|
||||
|
||||
func room(roomid string) broadcast.Broadcaster {
|
||||
b, ok := roomChannels[roomid]
|
||||
if !ok {
|
||||
b = broadcast.NewBroadcaster(10)
|
||||
roomChannels[roomid] = b
|
||||
}
|
||||
return b
|
||||
}
|
||||
Reference in New Issue
Block a user