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}."); } }
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}."); } }