Struct mz_kafka_util::client::MzClientContext
source · pub struct MzClientContext;
Expand description
A ClientContext
implementation that uses tracing
instead of log
macros.
All code in Materialize that constructs Kafka clients should use this
context or a custom context that delegates the log
and error
methods to
this implementation.
Trait Implementations§
source§impl ClientContext for MzClientContext
impl ClientContext for MzClientContext
source§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 error(&self, error: KafkaError, reason: &str)
fn error(&self, error: KafkaError, reason: &str)
Receives global errors from the librdkafka client. Read more
source§const ENABLE_REFRESH_OAUTH_TOKEN: bool = false
const ENABLE_REFRESH_OAUTH_TOKEN: bool = false
Whether to periodically refresh the SASL
OAUTHBEARER
token
by calling ClientContext::generate_oauth_token
. Read moresource§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 rewrite_broker_addr(&self, addr: BrokerAddr) -> BrokerAddr
fn rewrite_broker_addr(&self, addr: BrokerAddr) -> BrokerAddr
Rewrites a broker address for DNS resolution. Read more
source§impl ConsumerContext for MzClientContext
impl ConsumerContext for MzClientContext
source§fn rebalance(
&self,
native_client: &NativeClient,
err: rd_kafka_resp_err_t,
tpl: &mut TopicPartitionList
)
fn rebalance(
&self,
native_client: &NativeClient,
err: rd_kafka_resp_err_t,
tpl: &mut TopicPartitionList
)
Implements the default rebalancing strategy and calls the
pre_rebalance
and
post_rebalance
methods. If this
method is overridden, it will be responsibility of the user to call them
if needed.source§fn pre_rebalance<'a>(&self, rebalance: &Rebalance<'a>)
fn pre_rebalance<'a>(&self, rebalance: &Rebalance<'a>)
Pre-rebalance callback. This method will run before the rebalance and
should terminate its execution quickly.
source§fn post_rebalance<'a>(&self, rebalance: &Rebalance<'a>)
fn post_rebalance<'a>(&self, rebalance: &Rebalance<'a>)
Post-rebalance callback. This method will run after the rebalance and
should terminate its execution quickly.
source§fn commit_callback(
&self,
result: Result<(), KafkaError>,
offsets: &TopicPartitionList
)
fn commit_callback(
&self,
result: Result<(), KafkaError>,
offsets: &TopicPartitionList
)
Post commit callback. This method will run after a group of offsets was
committed to the offset store.
source§fn main_queue_min_poll_interval(&self) -> Timeout
fn main_queue_min_poll_interval(&self) -> Timeout
Returns the minimum interval at which to poll the main queue, which
services the logging, stats, and error callbacks. Read more
source§impl ProducerContext for MzClientContext
impl ProducerContext for MzClientContext
§type DeliveryOpaque = <DefaultProducerContext as ProducerContext>::DeliveryOpaque
type DeliveryOpaque = <DefaultProducerContext as ProducerContext>::DeliveryOpaque
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<'_>,
delivery_opaque: Self::DeliveryOpaque
)
fn delivery(
&self,
delivery_result: &DeliveryResult<'_>,
delivery_opaque: Self::DeliveryOpaque
)
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 RefUnwindSafe for MzClientContext
impl Send for MzClientContext
impl Sync for MzClientContext
impl Unpin for MzClientContext
impl UnwindSafe for MzClientContext
Blanket Implementations§
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request