[][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::components::committer::CommitAttemptTimeoutMillis;
pub use crate::components::committer::CommitConfig;
pub use crate::components::committer::CommitInitialRetryIntervalMillis;
pub use crate::components::committer::CommitMaxRetryIntervalMillis;
pub use crate::components::committer::CommitRetryIntervalMultiplier;
pub use crate::components::committer::CommitRetryOnAuthError;
pub use crate::components::committer::CommitTimeoutMillis;
pub use crate::components::connector::ConnectAbortOnAuthError;
pub use crate::components::connector::ConnectAbortOnSubscriptionNotFound;
pub use crate::components::connector::ConnectAttemptTimeoutSecs;
pub use crate::components::connector::ConnectConfig;
pub use crate::components::connector::ConnectMaxRetryDelaySecs;
pub use crate::components::connector::ConnectTimeout;
pub use crate::components::connector::ConnectTimeoutSecs;
pub use crate::instrumentation::Instrumentation;
pub use crate::instrumentation::MetricsDetailLevel;

Modules

complex_types

Structs

Builder

Creates a Consumer

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 if the Consumer was stopped for other reasons than the stream ending a ConsumerAbort which gives more insight on why the consumer was stopped.

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.

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.

StreamDeadTimeoutSecs

The time after which a stream is considered stuck and has to be aborted.

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 a subscription

TickIntervalMillis

The internal tick interval.

WarnStreamStalledSecs

Emits a warning when no lines were received from Nakadi.

Enums

ConsumerAbort
ConsumerErrorKind
DispatchMode

Defines how to dispatch batches to handlers.

StreamDeadPolicy

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

Traits

AggregatesProcessors

Implementors can group everything that can process TelemetryMessages.

LoggingAdapter

An adapter for pluggable logging.