/// <inheritdoc/> public void BeginTransaction() => KafkaHandle.BeginTransaction();
/// <inheritdoc/> public void InitTransactions(TimeSpan timeout) => KafkaHandle.InitTransactions(timeout.TotalMillisecondsAsInt());
/// <inheritdoc/> public void SendOffsetsToTransaction(IEnumerable <TopicPartitionOffset> offsets, IConsumerGroupMetadata groupMetadata, TimeSpan timeout) => KafkaHandle.SendOffsetsToTransaction(offsets, groupMetadata, timeout.TotalMillisecondsAsInt());
/// <inheritdoc/> public void AbortTransaction(TimeSpan timeout) => KafkaHandle.AbortTransaction(timeout.TotalMillisecondsAsInt());
/// <summary> /// <see cref="IClient.AddBrokers(string)" /> /// </summary> public int AddBrokers(string brokers) => KafkaHandle.AddBrokers(brokers);
/// <summary> /// Wait until all outstanding produce requests and delievery report /// callbacks are completed. /// /// [API-SUBJECT-TO-CHANGE] - the semantics and/or type of the return value /// is subject to change. /// </summary> /// <param name="timeout"> /// The maximum length of time to block. You should typically use a /// relatively short timout period and loop until the return value /// becomes zero because this operation cannot be cancelled. /// </param> /// <returns> /// The current librdkafka out queue length. This should be interpreted /// as a rough indication of the number of messages waiting to be sent /// to or acknowledged by the broker. If zero, there are no outstanding /// messages or callbacks. Specifically, the value is equal to the sum /// of the number of produced messages for which a delivery report has /// not yet been handled and a number which is less than or equal to the /// number of pending delivery report callback events (as determined by /// the number of outstanding protocol requests). /// </returns> /// <remarks> /// This method should typically be called prior to destroying a producer /// instance to make sure all queued and in-flight produce requests are /// completed before terminating. The wait time is bounded by the /// timeout parameter. /// /// A related configuration parameter is message.timeout.ms which determines /// the maximum length of time librdkafka attempts to deliver a message /// before giving up and so also affects the maximum time a call to Flush /// may block. /// /// Where this Producer instance shares a Handle with one or more other /// producer instances, the Flush method will wait on messages produced by /// the other producer instances as well. /// </remarks> public int Flush(TimeSpan timeout) => KafkaHandle.Flush(timeout.TotalMillisecondsAsInt());