BitSharp.Network.RemoteSender.SendMessageAsync C# (CSharp) Method

SendMessageAsync() public method

public SendMessageAsync ( BitSharp.Network.Message message ) : Task
message BitSharp.Network.Message
return Task
        public async Task SendMessageAsync(Message message)
        {
            try
            {
                await semaphore.DoAsync(async () =>
                {
                    using (var stream = new NetworkStream(socket))
                    {
                        var stopwatch = Stopwatch.StartNew();

                        using (var byteStream = new MemoryStream())
                        using (var writer = new BinaryWriter(byteStream))
                        {
                            NetworkEncoder.EncodeMessage(writer, message);

                            var messageBytes = byteStream.ToArray();
                            await stream.WriteAsync(messageBytes, 0, messageBytes.Length);
                        }

                        stopwatch.Stop();

                        if (logger.IsTraceEnabled)
                            logger.Trace($"Sent {message.Command} in {stopwatch.ElapsedMilliseconds} ms\nPayload: {message.Payload.ToArray().ToHexDataString()}");
                    }
                });
            }
            catch (Exception e)
            {
                Fail(e);
            }
        }
    }

Same methods

RemoteSender::SendMessageAsync ( string command ) : Task