Beispiel #1
0
        private void EnqueueBlock(IPeer peer, BlockWithTransactions blockWithTransactions)
        {
            try
            {
                var blockHash = blockWithTransactions.GetHash();

                if (peer.KnowsBlock(blockHash))
                {
                    return; // block already known to this peer
                }
                peer.EnqueueBlock(blockWithTransactions, async ex =>
                {
                    peer.TryAddKnownBlock(blockHash);

                    if (ex != null)
                    {
                        Logger.LogError(ex, $"Error while broadcasting block to {peer}.");
                        await HandleNetworkException(peer, ex);
                    }
                });
            }
            catch (NetworkException ex)
            {
                Logger.LogError(ex, $"Error while broadcasting block to {peer}.");
            }
        }
        private void EnqueueBlock(IPeer peer, BlockWithTransactions blockWithTransactions)
        {
            try
            {
                var blockHash = blockWithTransactions.GetHash();

                if (peer.KnowsBlock(blockHash))
                {
                    return; // block already known to this peer
                }
                peer.EnqueueBlock(blockWithTransactions, async ex =>
                {
                    peer.TryAddKnownBlock(blockHash);

                    if (ex != null)
                    {
                        Logger.LogWarning(ex, $"Could not broadcast block to {peer} - status {peer.ConnectionStatus}.");
                        await HandleNetworkException(peer, ex);
                    }
                });
            }
            catch (NetworkException ex)
            {
                Logger.LogWarning(ex, $"Could not enqueue block to {peer} - status {peer.ConnectionStatus}.");
            }
        }
Beispiel #3
0
 private async Task SendBlockAsync(IPeer peer, BlockWithTransactions blockWithTransactions)
 {
     try
     {
         peer.EnqueueBlock(blockWithTransactions, async ex =>
         {
             if (ex != null)
             {
                 Logger.LogError(ex, $"Error while broadcasting block to {peer}.");
                 await HandleNetworkException(peer, ex);
             }
         });
     }
     catch (NetworkException ex)
     {
         Logger.LogError(ex, $"Error while broadcasting block to {peer}.");
     }
 }