private void InitConnectionAsClient(PeerAddress peerAddress) { List <SuperPeerServer> onlineServers = new List <SuperPeerServer>(ConnectionsRepository.GetServers()); SuperPeerServer targetServer = null; foreach (SuperPeerServer server in onlineServers) { if (server.GetClientInfo().PeerAddress().Equals(peerAddress)) { targetServer = server; } } if (targetServer == null) { return; } if (!targetServer.AllowedConnection.Equals(_superPeerClient.GetClientInfo().PeerAddress())) { return; } ConnectionPair connectionPair = CreateConnectionPair(targetServer, _superPeerClient); ProcessConnectionBetweenClients(connectionPair); }
private static void DisplayRepositoryState() { Console.WriteLine("Clients :" + ClientRepository.GetClients().Count + "\nConnections :" + ConnectionsRepository.GetConnections().Count + "\nPeerClients :" + ConnectionsRepository.GetClients().Count + "\nPeerServers :" + ConnectionsRepository.GetServers().Count); }
private static void CleanServerFromConnectionsRepository(IClient closedClient) { List <SuperPeerServer> serverList = ConnectionsRepository.GetServers(); foreach (SuperPeerServer server in serverList.Where(server => server.GetSuperPeerClient() == closedClient)) { ConnectionsRepository.RemoveServer(server); } }