private static TopicPartitionOffset GetNextOffset(KafkaBatchContainer msg)
        {
            var offset = new TopicPartitionOffset(
                msg.TopicPartitionOffSet.TopicPartition,
                msg.TopicPartitionOffSet.Offset.Value + 1
                );

            return(offset);
        }
 public static async Task Produce(this Producer <byte[], KafkaBatchContainer> producer, KafkaBatchContainer batch, TimeSpan timeout)
 {
     using (var tokenSource = new CancellationTokenSource(timeout))
     {
         await producer.ProduceAsync(
             batch.StreamNamespace,
             new Message <byte[], KafkaBatchContainer>
         {
             Key       = batch.StreamGuid.ToByteArray(),
             Value     = batch,
             Timestamp = new Timestamp(DateTimeOffset.UtcNow)
         },
             tokenSource.Token
             );
     }
 }
Exemple #3
0
 public static Task Produce(this IProducer <byte[], KafkaBatchContainer> producer, KafkaBatchContainer batch)
 => Task.Run(() => producer.ProduceAsync(
                 batch.StreamNamespace,
                 new Message <byte[], KafkaBatchContainer>
 {
     Key       = batch.StreamGuid.ToByteArray(),
     Value     = batch,
     Timestamp = new Timestamp(DateTimeOffset.UtcNow)
 }
                 ));