Esempio n. 1
0
 public SocketPayloadSendTask(KafkaDataPayload payload, CancellationToken cancellationToken, IKafkaLog log)
 {
     _log    = log;
     Tcp     = new TaskCompletionSource <KafkaDataPayload>();
     Payload = payload;
     _cancellationTokenRegistration = cancellationToken.Register(() => Tcp.TrySetCanceled());
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 public SocketPayloadSendTask(KafkaDataPayload payload, CancellationToken cancellationToken)
 {
     Tcp = new TaskCompletionSource<KafkaDataPayload>();
     Payload = payload;
     _cancellationTokenRegistration = cancellationToken.Register(() => { Tcp.TrySetCanceled(); });
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 /// <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);
 }
Esempio n. 6
0
 /// <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);
 }
Esempio n. 7
0
 /// <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));
 }
Esempio n. 8
0
 /// <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));
 }
Esempio n. 10
0
 /// <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));
 }