Example #1
0
 public Node FindOrConnect(IPEndPoint endpoint)
 {
     while (true)
     {
         var node = _ConnectedNodes.FindByEndpoint(endpoint);
         if (node != null)
         {
             return(node);
         }
         node = Node.Connect(Network, endpoint, CreateNodeConnectionParameters());
         node.StateChanged += node_StateChanged;
         if (!_ConnectedNodes.Add(node))
         {
             node.DisconnectAsync();
         }
         else
         {
             return(node);
         }
     }
 }