[][src]Module nakadion::consumer

A consumer for a subscription

Start here if you want to consume a stream. You will need a BatchHandlerFactory to consume a stream.

The consumer instantiates handlers to process events and manages cursor commits.

Re-exports

pub use crate::instrumentation::Instrumentation;
pub use crate::instrumentation::MetricsDetailLevel;
pub use crate::instrumentation::Instrumentation;
pub use crate::instrumentation::MetricsDetailLevel;

Modules

complex_types

Structs

Builder

Creates a Consumer

CommitAttemptTimeoutMillis

The time a publish attempt for an events batch may take.

CommitConfig

Configuration for a Committer

CommitInitialRetryIntervalMillis

The initial delay between retry attempts.

CommitMaxRetryIntervalMillis

The maximum interval between retries.

CommitRetryIntervalMultiplier

The multiplier for the delay increase between retries.

CommitRetryOnAuthError

If true, retries are done on auth errors.

CommitTimeoutMillis

The publishing an events batch including retries may take.

ConnectAbortOnAuthError

If true abort the consumer when an auth error occurs while connecting to a stream.

ConnectAbortOnSubscriptionNotFound

If true abort the consumer when a subscription does not exist when connection to a stream.

ConnectAttemptTimeoutSecs

The timeout for a single request made to Nakadi to connect to a stream.

ConnectConfig

Parameters to configure the Connector

ConnectMaxRetryDelaySecs

The maximum retry delay between failed attempts to connect to a stream.

ConnectTimeoutSecs

The maximum time for connecting to a stream.

Consumer

Consumes an event stream

ConsumerError

Always leads to Nakadion shutting down

ConsumerHandle

A handle for controlling a Consumer from externally.

Consuming

A Future that completes once the consumer stopped events consumption

ConsumptionOutcome

Returned once a Consumer has stopped. It contains the original consumer and a ConsumerAbort which gives more insight on why the consumer was stopped.

DebugLoggingEnabled

If true debug logging is enabled.

DevNullLoggingAdapter

Does no logging at all

Error

An error for cases where further investigation is not necessary.

HandlerInactivityTimeoutSecs

The time after which a handler is considered inactive.

LogConfig

Configures which contextual data should be made available with a log message

LogLoggingAdapter

A logger based on log

Metrix

Instrumentation with Metrix

MetrixConfig
PartitionInactivityTimeoutSecs

The time after which a partition is considered inactive.

ProcessorMount

A building block for grouping

SlogLoggingAdapter

A logger based on slog

StdErrLoggingAdapter

Logs to stderr

StdOutLoggingAdapter

Logs to stdout

StreamBatchFlushTimeoutSecs

Maximum time in seconds to wait for the flushing of each chunk (per partition).

StreamBatchLimit

Maximum number of Events in each chunk (and therefore per partition) of the stream.

StreamBatchTimespanSecs

Useful for batching events based on their received_at timestamp.

StreamId

The id of this stream generated by Nakadi.

StreamLimit

Maximum number of Events in this stream (over all partitions being streamed in this connection).

StreamMaxUncommittedEvents

The maximum number of uncommitted events that Nakadi will stream before pausing the stream.

StreamParameters

Parameters for starting a new stream on a subscription

StreamTimeoutSecs

Maximum time in seconds a stream will live before connection is closed by the server.

SubscriptionId

Id of subscription that was created.

TickIntervalMillis

The internal tick interval.

WarnNoEventsSecs

Emits a warning when no events were received from Nakadi.

WarnNoFramesSecs

Emits a warning when no frames (lines) were received from Nakadi.

Enums

CommitStrategy

Defines how to commit cursors

ConnectTimeout

The timeout for a request made to Nakadi to connect to a stream including retries

ConsumerAbort
ConsumerErrorKind
DispatchMode

Defines how to dispatch batches to handlers.

LogDetailLevel

Defines the level of context being logged

LogPartitionEventsMode

Configures the logging for partition events.

StreamDeadPolicy

Specifies when a stream is considered dead and has to be aborted.

Traits

AggregatesProcessors

Implementors can group everything that can process TelemetryMessages.

LifecycleListener
LoggingAdapter

An adapter for pluggable logging.