private async Task SendMessageAsync( NetworkStream stream, StunMessage message) { _responses[message.TransactionId] = new TaskCompletionSource <StunMessage>(); var asBytes = message.Encode(this); await stream.WriteAsync(asBytes, 0, asBytes.Length); }
private async Task SendMessageAsync( NetworkStream stream, StunMessage message, CancellationToken cancellationToken) { var tcs = new TaskCompletionSource <StunMessage>(); _responses[message.TransactionId] = tcs; var asBytes = message.Encode(this); await stream.WriteAsync( asBytes, 0, asBytes.Length, cancellationToken); }