Struct rdkafka::producer::future_producer::FutureProducerContext
source · pub struct FutureProducerContext<C: ClientContext + 'static> { /* private fields */ }
Expand description
The ProducerContext
used by the FutureProducer
.
This context will use a Future
as its DeliveryOpaque
and will complete
the future when the message is delivered (or failed to).
Trait Implementations§
source§impl<C: ClientContext + 'static> ClientContext for FutureProducerContext<C>
impl<C: ClientContext + 'static> ClientContext for FutureProducerContext<C>
source§const ENABLE_REFRESH_OAUTH_TOKEN: bool = C::ENABLE_REFRESH_OAUTH_TOKEN
const ENABLE_REFRESH_OAUTH_TOKEN: bool = C::ENABLE_REFRESH_OAUTH_TOKEN
Whether to periodically refresh the SASL
OAUTHBEARER
token
by calling ClientContext::generate_oauth_token
. Read moresource§fn log(&self, level: RDKafkaLogLevel, fac: &str, log_message: &str)
fn log(&self, level: RDKafkaLogLevel, fac: &str, log_message: &str)
Receives log lines from librdkafka. Read more
source§fn stats(&self, statistics: Statistics)
fn stats(&self, statistics: Statistics)
Receives the decoded statistics of the librdkafka client. To enable, the
statistics.interval.ms
configuration parameter must be specified. Read moresource§fn stats_raw(&self, statistics: &[u8])
fn stats_raw(&self, statistics: &[u8])
Receives the JSON-encoded statistics of the librdkafka client. To
enable, the
statistics.interval.ms
configuration parameter must be
specified. Read moresource§fn error(&self, error: KafkaError, reason: &str)
fn error(&self, error: KafkaError, reason: &str)
Receives global errors from the librdkafka client. Read more
source§fn resolve_broker_addr(
&self,
host: &str,
port: u16,
) -> Result<Vec<SocketAddr>, Error>
fn resolve_broker_addr( &self, host: &str, port: u16, ) -> Result<Vec<SocketAddr>, Error>
Performs DNS resolution on a broker address. Read more
source§fn generate_oauth_token(
&self,
oauthbearer_config: Option<&str>,
) -> Result<OAuthToken, Box<dyn Error>>
fn generate_oauth_token( &self, oauthbearer_config: Option<&str>, ) -> Result<OAuthToken, Box<dyn Error>>
Generates an OAuth token from the provided configuration. Read more
source§impl<C: Clone + ClientContext + 'static> Clone for FutureProducerContext<C>
impl<C: Clone + ClientContext + 'static> Clone for FutureProducerContext<C>
source§fn clone(&self) -> FutureProducerContext<C>
fn clone(&self) -> FutureProducerContext<C>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<C, R> Producer<FutureProducerContext<C>> for FutureProducer<C, R>where
C: ClientContext + 'static,
R: AsyncRuntime,
impl<C, R> Producer<FutureProducerContext<C>> for FutureProducer<C, R>where
C: ClientContext + 'static,
R: AsyncRuntime,
source§fn client(&self) -> &Client<FutureProducerContext<C>>
fn client(&self) -> &Client<FutureProducerContext<C>>
Returns the
Client
underlying this producer.source§fn flush<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
fn flush<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
Flushes any pending messages. Read more
source§fn in_flight_count(&self) -> i32
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§fn init_transactions<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
fn init_transactions<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
Enable sending transactions with this producer. Read more
source§fn begin_transaction(&self) -> KafkaResult<()>
fn begin_transaction(&self) -> KafkaResult<()>
Begins a new transaction. Read more
source§fn send_offsets_to_transaction<T: Into<Timeout>>(
&self,
offsets: &TopicPartitionList,
cgm: &ConsumerGroupMetadata,
timeout: T,
) -> KafkaResult<()>
fn send_offsets_to_transaction<T: Into<Timeout>>( &self, offsets: &TopicPartitionList, cgm: &ConsumerGroupMetadata, timeout: T, ) -> KafkaResult<()>
Associates an offset commit operation with this transaction. Read more
source§fn commit_transaction<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
fn commit_transaction<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
Commits the current transaction. Read more
source§fn abort_transaction<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
fn abort_transaction<T: Into<Timeout>>(&self, timeout: T) -> KafkaResult<()>
Aborts the current transaction. Read more
source§fn context(&self) -> &Arc<C>
fn context(&self) -> &Arc<C>
Returns a reference to the
ProducerContext
used to create this
producer.source§impl<C: ClientContext + 'static> ProducerContext for FutureProducerContext<C>
impl<C: ClientContext + 'static> ProducerContext for FutureProducerContext<C>
§type DeliveryOpaque = Box<Sender<Result<(i32, i64), (KafkaError, OwnedMessage)>>>
type DeliveryOpaque = Box<Sender<Result<(i32, i64), (KafkaError, OwnedMessage)>>>
A
DeliveryOpaque
is a user-defined structure that will be passed to
the producer when producing a message, and returned to the delivery
method once the message has been delivered, or failed to.source§fn delivery(
&self,
delivery_result: &DeliveryResult<'_>,
tx: Box<Sender<OwnedDeliveryResult>>,
)
fn delivery( &self, delivery_result: &DeliveryResult<'_>, tx: Box<Sender<OwnedDeliveryResult>>, )
This method will be called once the message has been delivered (or
failed to). The
DeliveryOpaque
will be the one provided by the user
when calling send.Auto Trait Implementations§
impl<C> Freeze for FutureProducerContext<C>where
C: Freeze,
impl<C> RefUnwindSafe for FutureProducerContext<C>where
C: RefUnwindSafe,
impl<C> Send for FutureProducerContext<C>
impl<C> Sync for FutureProducerContext<C>
impl<C> Unpin for FutureProducerContext<C>where
C: Unpin,
impl<C> UnwindSafe for FutureProducerContext<C>where
C: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)