pub struct KafkaProducer { /* private fields */ }

Implementations§

source§

impl KafkaProducer

source

pub fn send_record<K, P>( &self, record: FutureRecord<'_, K, P> ) -> KafkaResult<SendFuture>where K: ToBytes + ?Sized, P: ToBytes + ?Sized,

Send a raw FutureRecord to a stream

source

pub fn send_message<S: Buffer>( &self, header: MessageHeader, payload: S ) -> KafkaResult<SendFuture>

Send a message to a particular (topic, partition). The timestamp and sequence of MessageHeader is currently ignored.

source

pub fn in_flight_count(&self) -> i32

Returns the number of messages that are either waiting to be sent or are sent but are waiting to be acknowledged.

source

pub async fn init_transactions(&mut self) -> KafkaResult<()>

See https://docs.rs/rdkafka/latest/rdkafka/producer/trait.Producer.html#tymethod.init_transactions

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

source

pub async fn begin_transaction(&mut self) -> KafkaResult<()>

See https://docs.rs/rdkafka/latest/rdkafka/producer/trait.Producer.html#tymethod.begin_transaction

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

source

pub async fn commit_transaction(&mut self) -> KafkaResult<()>

See https://docs.rs/rdkafka/latest/rdkafka/producer/trait.Producer.html#tymethod.commit_transaction

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

source

pub async fn abort_transaction(&mut self) -> KafkaResult<()>

See https://docs.rs/rdkafka/latest/rdkafka/producer/trait.Producer.html#tymethod.abort_transaction

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

source

pub async fn send_offsets_to_transaction( &mut self, offsets: TopicPartitionList, cgm: ConsumerGroupMetadata ) -> KafkaResult<()>

See https://docs.rs/rdkafka/latest/rdkafka/producer/trait.Producer.html#tymethod.send_offsets_to_transaction

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

source

pub async fn flush_with_timeout(&mut self, timeout: Duration) -> KafkaResult<()>

Flush pending messages with a timeout.

Warning

This async method is not cancel safe. You must await this future, and this Producer will be unusable for any operations until it finishes.

Trait Implementations§

source§

impl Clone for KafkaProducer

source§

fn clone(&self) -> KafkaProducer

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for KafkaProducer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Producer for KafkaProducer

§

type Error = KafkaError

§

type SendFuture = SendFuture

source§

fn send_to<S: Buffer>( &self, stream: &StreamKey, payload: S ) -> KafkaResult<Self::SendFuture>

Send a message to a particular stream. This function is non-blocking. You don’t have to await the future if you are not interested in the Receipt.
source§

fn end<'async_trait>( self ) -> Pin<Box<dyn Future<Output = KafkaResult<()>> + Send + 'async_trait>>where Self: 'async_trait,

End this producer, only after flushing all it’s pending messages.
source§

fn flush<'life0, 'async_trait>( &'life0 mut self ) -> Pin<Box<dyn Future<Output = KafkaResult<()>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,

Flush all pending messages.
source§

fn anchor(&mut self, stream: StreamKey) -> KafkaResult<()>

Lock this producer to a particular stream. This function can only be called once. Subsequent calls should return StreamErr::AlreadyAnchored error.
source§

fn anchored(&self) -> KafkaResult<&StreamKey>

If the producer is already anchored, return a reference to the StreamKey. If the producer is not anchored, this will return StreamErr::NotAnchored error.
source§

fn send<S>( &self, payload: S ) -> Result<Self::SendFuture, StreamErr<Self::Error>>where S: Buffer,

Send a message to the already anchored stream. This function is non-blocking. You don’t have to await the future if you are not interested in the Receipt. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.