public NodeConnectionStatus AddNodeToConnections(IPAddress address)
        {
            var connectionHandshake = new ConnectionHandshake(address, RemoteHelper, NodeId);

            connectionHandshake.PerformHandshake();

            AddToConnectedNodes(connectionHandshake);

            return connectionHandshake.ConnectionStatus;
        }
 private void AddToConnectedNodes(ConnectionHandshake connectionHandshake)
 {
     if (connectionHandshake.IsRemoteNodeConnected)
     {
         if (IsAddressNotInCollection(connectionHandshake))
         {
             AddAddressToCollection(connectionHandshake);
         }
     }
 }
 private void AddAddressToCollection(ConnectionHandshake connectionHandshake)
 {
     ConnectedNodes.Add(connectionHandshake.RemoteAddress, connectionHandshake.RemoteNodeId);
 }
 private bool IsAddressNotInCollection(ConnectionHandshake connectionHandshake)
 {
     return !ConnectedNodes.ContainsKey(connectionHandshake.RemoteAddress);
 }