예제 #1
0
        private void NotifyPeers(List <ISynchronizationPeer> peers, Transaction transaction)
        {
            if (peers.Count == 0)
            {
                return;
            }

            var timestamp = new UInt256(_timestamp.EpochSeconds);

            if (_pendingTransactionThresholdValidator.IsObsolete(timestamp, transaction.Timestamp))
            {
                return;
            }

            for (var i = 0; i < peers.Count; i++)
            {
                var peer = peers[i];
                Metrics.PendingTransactionsSent++;
                peer.SendNewTransaction(transaction);
            }

            if (_logger.IsTrace)
            {
                _logger.Trace($"Notified {peers.Count} peers about a transaction: {transaction.Hash}");
            }
        }
예제 #2
0
        private void Notify(ISynchronizationPeer peer, Transaction transaction)
        {
            var timestamp = new UInt256(_timestamp.EpochSeconds);

            if (_pendingTransactionThresholdValidator.IsObsolete(timestamp, transaction.Timestamp))
            {
                return;
            }

            Metrics.PendingTransactionsSent++;
            peer.SendNewTransaction(transaction);

            if (_logger.IsTrace)
            {
                _logger.Trace($"Notified {peer.Node.Id} about a transaction: {transaction.Hash}");
            }
        }