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 ); } }
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) } ));