public SocketPayloadSendTask(KafkaDataPayload payload, CancellationToken cancellationToken, IKafkaLog log) { _log = log; Tcp = new TaskCompletionSource <KafkaDataPayload>(); Payload = payload; _cancellationTokenRegistration = cancellationToken.Register(() => Tcp.TrySetCanceled()); }
private Task <KafkaDataPayload> EnqueueWriteTask(KafkaDataPayload payload, CancellationToken cancellationToken) { var sendTask = new SocketPayloadSendTask(payload, cancellationToken, _log); _sendTaskQueue.Add(sendTask); //StatisticsTracker.QueueNetworkWrite(_endpoint, payload); return(sendTask.Tcp.Task); }
public SocketPayloadSendTask(KafkaDataPayload payload, CancellationToken cancellationToken) { Tcp = new TaskCompletionSource<KafkaDataPayload>(); Payload = payload; _cancellationTokenRegistration = cancellationToken.Register(() => { Tcp.TrySetCanceled(); }); }
private Task<KafkaDataPayload> EnqueueWriteTask(KafkaDataPayload payload, CancellationToken cancellationToken) { var sendTask = new SocketPayloadSendTask(payload, cancellationToken); _sendTaskQueue.Add(sendTask); if (UseStatisticsTracker()) { StatisticsTracker.QueueNetworkWrite(_endpoint, payload); } return sendTask.Tcp.Task; }
/// <summary> /// Write the buffer data to the server. /// </summary> /// <param name="payload">The buffer data to send.</param> /// <param name="cancellationToken">A cancellation token which will cancel the request.</param> /// <returns>Returns Task handle to the write operation with size of written bytes..</returns> public Task<KafkaDataPayload> WriteAsync(KafkaDataPayload payload, CancellationToken cancellationToken) { return EnqueueWriteTask(payload, cancellationToken); }
/// <summary> /// Convenience function to write full buffer data to the server. /// </summary> /// <param name="payload">The buffer data to send.</param> /// <returns>Returns Task handle to the write operation with size of written bytes..</returns> public Task<KafkaDataPayload> WriteAsync(KafkaDataPayload payload) { return WriteAsync(payload, CancellationToken.None); }
/// <summary> /// Write the buffer data to the server. /// </summary> /// <param name="payload">The buffer data to send.</param> /// <param name="cancellationToken">A cancellation token which will cancel the request.</param> /// <returns>Returns Task handle to the write operation with size of written bytes..</returns> public Task <KafkaDataPayload> WriteAsync(KafkaDataPayload payload, CancellationToken cancellationToken) { return(EnqueueWriteTask(payload, cancellationToken)); }
/// <summary> /// Convenience function to write full buffer data to the server. /// </summary> /// <param name="payload">The buffer data to send.</param> /// <returns>Returns Task handle to the write operation with size of written bytes..</returns> public Task <KafkaDataPayload> WriteAsync(KafkaDataPayload payload) { return(WriteAsync(payload, CancellationToken.None)); }
/// <summary> /// Send raw byte[] payload to the kafka server with a task indicating upload is complete. /// </summary> /// <param name="payload">kafka protocol formatted byte[] payload</param> /// <param name="token">Cancellation token used to cancel the transfer.</param> /// <returns>Task which signals the completion of the upload of data to the server.</returns> public Task SendAsync(KafkaDataPayload payload, CancellationToken token) { return(_client.WriteAsync(payload, token)); }
/// <summary> /// Send raw byte[] payload to the kafka server with a task indicating upload is complete. /// </summary> /// <param name="payload">kafka protocol formatted byte[] payload</param> /// <returns>Task which signals the completion of the upload of data to the server.</returns> public Task SendAsync(KafkaDataPayload payload) { return(_client.WriteAsync(payload)); }