Struct sea_streamer_kafka::KafkaProducer

source ·
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§

async fn end(self) -> KafkaResult<()>

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

async fn flush(&mut self) -> KafkaResult<()>

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 T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where 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 T
where 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 T
where 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.