public void SendValidationRequest(string userID, string token, LobbyUser user, EventHandler <JsonClient.JsonMessageResponceArgs> callback) { Config.AuthenticationNodeInfo authNode = null; lock (LobbyConfig.AuthenticationEndpoints) { if (LobbyConfig.AuthenticationEndpoints.Count == 0) { return; } if (LobbyConfig.AuthenticationEndpoints.Count == 1) { authNode = LobbyConfig.AuthenticationEndpoints[0]; } else { authNode = LobbyConfig.AuthenticationEndpoints[RNG.Next(LobbyConfig.AuthenticationEndpoints.Count)]; } } if (authNode == null) { return; } authNode.StartValidationRequest(userID, token, user, callback); }
Peer PeerHandler.AddPeer(NetIncomingMessage msg) { LobbyUser user = new LobbyUser(); ChangePeerToMessageProcessor(user, GetNextAuthProcessor()); return(user); }
void PeerHandler.PeerDisconnected(string reason, Peer peer) { LobbyUser user = peer as LobbyUser; if (user != null && user.MessageProcessor != null) { user.MessageProcessor.PeerRemoved(user); } }
public void StartValidationRequest(string userID, string token, LobbyUser user, EventHandler <JsonClient.JsonMessageResponceArgs> callback) { ValidateAuthenticationTokenRequest request = new ValidateAuthenticationTokenRequest(); request.UserID = userID; request.Token = token; request.APIKey = string.Empty; WebConnection.SendMessage(request, user, callback); }
void ChangePeerToMessageProcessor(LobbyUser user, IUserMessageProcessor processor) { if (user.MessageProcessor != null) { user.MessageProcessor.PeerRemoved(user); } user.MessageProcessor = processor; if (user.MessageProcessor != null) { user.MessageProcessor.PeerAdded(user); } }
void PeerHandler.PeerReceiveData(NetIncomingMessage msg, Peer peer) { LobbyUser user = peer as LobbyUser; if (user == null) { return; } if (user.MessageProcessor != null) { user.MessageProcessor.ReceivePeerData(MessageFactory.ParseMessage(msg), user); } }
public void PeerAuthenticated(LobbyUser user) { ChangePeerToMessageProcessor(user, LobbyUserProcessor.FindBestLobbyProcessor(LobbyConfig.PreferedChatRoomSize)); }