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 CleanConnectionsFromConnectionsRepository(IClient closedClient)
        {
            List <ConnectionPair> connectionPairList = ConnectionsRepository.GetConnections();

            foreach (ConnectionPair connectionPair in connectionPairList.Where(connectionPair => connectionPair.ContainsClient(closedClient)))
            {
                ConnectionsRepository.RemoveConnection(connectionPair);
                connectionPair.CloseConnection(closedClient);
            }
        }
示例#3
0
        private ConnectionPair CreateConnectionPair(SuperPeerServer server, SuperPeerClient client)
        {
            ConnectionPair connectionPair = new ConnectionPair(server, client);

            if (!ConnectionsRepository.GetConnections().Contains(connectionPair))
            {
                ConnectionsRepository.AddConnection(connectionPair);
                return(connectionPair);
            }

            return(null);
        }