Ejemplo n.º 1
0
    public P2pNode(Network network, EndPoint endPoint, MempoolService mempoolService, string userAgent)
    {
        Network        = Guard.NotNull(nameof(network), network);
        EndPoint       = Guard.NotNull(nameof(endPoint), endPoint);
        MempoolService = Guard.NotNull(nameof(mempoolService), mempoolService);
        UserAgent      = Guard.NotNullOrEmptyOrWhitespace(nameof(userAgent), userAgent, trim: true);

        Stop = new CancellationTokenSource();
        NodeEventsSubscribed = false;
        SubscriptionLock     = new object();
        P2pReconnector       = new P2pReconnector(TimeSpan.FromSeconds(7), this);
    }
Ejemplo n.º 2
0
 private async void Node_DisconnectedAsync(Node node)
 {
     try
     {
         using (await ReconnectorLock.LockAsync(Stop.Token).ConfigureAwait(false))
         {
             if (node.IsConnected)
             {
                 return;
             }
             var reconnector = new P2pReconnector(TimeSpan.FromSeconds(7), this);
             await reconnector.StartAndAwaitReconnectionAsync(Stop.Token).ConfigureAwait(false);
         }
     }
     catch (Exception ex)
     {
         Logger.LogDebug(ex);
     }
 }