diff --git a/socketserver/cmd/ffzsocketserver/console.go b/socketserver/cmd/ffzsocketserver/console.go index e6ceeefb..5aacd702 100644 --- a/socketserver/cmd/ffzsocketserver/console.go +++ b/socketserver/cmd/ffzsocketserver/console.go @@ -52,7 +52,7 @@ func commandLineConsole() { if target == "_ALL" { count = server.PublishToAll(msg) } else { - count = server.PublishToChat(target, msg) + count = server.PublishToChannel(target, msg) } return fmt.Sprintf("Published to %d clients", count), nil }) diff --git a/socketserver/internal/server/commands.go b/socketserver/internal/server/commands.go index 9f8fed86..24f60284 100644 --- a/socketserver/internal/server/commands.go +++ b/socketserver/internal/server/commands.go @@ -77,6 +77,7 @@ func HandleHello(conn *websocket.Conn, client *ClientInfo, msg ClientMessage) (r } SubscribeGlobal(client) + SubscribeDefaults(client) return ClientMessage{ Arguments: client.ClientID.String(), diff --git a/socketserver/internal/server/subscriptions.go b/socketserver/internal/server/subscriptions.go index 338224b8..2c2cfaa8 100644 --- a/socketserver/internal/server/subscriptions.go +++ b/socketserver/internal/server/subscriptions.go @@ -18,18 +18,22 @@ var ChatSubscriptionInfo map[string]*SubscriberList = make(map[string]*Subscribe var ChatSubscriptionLock sync.RWMutex var GlobalSubscriptionInfo SubscriberList -func SubscribeGlobal(client *ClientInfo) { - GlobalSubscriptionInfo.Lock() - AddToSliceC(&GlobalSubscriptionInfo.Members, client.MessageChannel) - GlobalSubscriptionInfo.Unlock() -} - func SubscribeChannel(client *ClientInfo, channelName string) { ChatSubscriptionLock.RLock() _subscribeWhileRlocked(channelName, client.MessageChannel) ChatSubscriptionLock.RUnlock() } +func SubscribeDefaults(client *ClientInfo) { + +} + +func SubscribeGlobal(client *ClientInfo) { + GlobalSubscriptionInfo.Lock() + AddToSliceC(&GlobalSubscriptionInfo.Members, client.MessageChannel) + GlobalSubscriptionInfo.Unlock() +} + func PublishToChannel(channel string, msg ClientMessage) (count int) { ChatSubscriptionLock.RLock() list := ChatSubscriptionInfo[channel] @@ -130,7 +134,7 @@ func unsubscribeAllClients() { ChatSubscriptionLock.Unlock() } -const ReapingDelay = 20 * time.Minute +const ReapingDelay = 1 * time.Minute // Checks ChatSubscriptionInfo for entries with no subscribers every ReapingDelay. // Started from SetupServer().