Example #1
0
        /// <inheritdoc />
        public async Task BroadcastAsync(ProtocolMessage message)
        {
            var correlationId           = message.CorrelationId.ToCorrelationId();
            var containsOriginalMessage =
                _incomingBroadcastSignatureDictionary.ContainsKey(correlationId);

            if (containsOriginalMessage)
            {
                var originalSignedMessage =
                    _incomingBroadcastSignatureDictionary[correlationId];
                await BroadcastInnerAsync(originalSignedMessage).ConfigureAwait(false);
            }
            else
            {
                var wrappedMessage = message.ToProtocolMessage(_peerId);
                await BroadcastInnerAsync(wrappedMessage).ConfigureAwait(false);
            }
        }