private async Task SendAsync(IPooledBuffer datagram) { try { var length = datagram.Count; _log.Trace("Sending message {0} of length: {1}", _sendCount, length); await WriteLengthAsync(datagram.Count).ConfigureAwait(false); await _stream.WriteAsync(datagram.Array, datagram.Offset, length).ConfigureAwait(false); await _stream.FlushAsync().ConfigureAwait(false); _log.Trace("Sent message {0} of length {1}", _sendCount, length); _sendCount++; } catch { _receiver.TryTerminate(); throw; } finally { datagram.Dispose(); } }
private async Task SendAsync(IPooledBuffer message) { try { await _connection.Out.WriteAsync(message).ConfigureAwait(false); } catch { message.Dispose(); throw; } }
private async Task SendAsync(IPooledBuffer message, IWriteOnlyChannel <IPooledBuffer> output) { try { await output.WriteAsync(message).ConfigureAwait(false); } catch { message.Dispose(); throw; } }
private async Task WriteDatagram(IPooledBuffer datagram) { try { await _buffer.Out.WriteAsync(datagram, _cancellationToken).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex, $"Caught exception during attempt to write datagram of length {datagram.Count}"); datagram.Dispose(); throw; } }
private async Task SendAsync(IPooledBuffer message, TransportMessage originalMessage, bool isHeader) { try { await _connection.Out.WriteAsync(message).ConfigureAwait(false); } catch (Exception ex) { var payloadType = isHeader ? "header" : "payload"; _log.Warn(ex, $"Exception occurred while sending {payloadType} of message: {originalMessage}"); message.Dispose(); throw; } }
private void DisposeRejected(IPooledBuffer msg) { msg.Dispose(); }
private void DisposeRejected(IPooledBuffer msg) { _log.Trace("Disposing rejected message of length {0}", msg.Count); msg.Dispose(); }