private void OnNewUserMessage(RedisChannel channel, RedisValue value) { var lobbyUser = JsonConvert.DeserializeObject <LobbyUser>(value); if (lobbyUser.Node == options.NodeName) { return; } UsersByConnectionId.Add(lobbyUser.ConnectionId, lobbyUser); }
private async Task NewUserInternalAsync(LobbyUser user) { if (UsersByConnectionId.ContainsKey(user.ConnectionId)) { Logger.LogError($"Got new user request for '{user.Name}' but already know this user"); return; } user.Node = options.NodeName; UsersByConnectionId.Add(user.ConnectionId, user); await subscriber.PublishAsync(RedisChannels.NewUser, JsonConvert.SerializeObject(user)); }