Skip to main content

Module config

Module config 

Source
Expand description

Stream and basin configuration types.

Stream configuration uses three representations:

  • Resolved (StreamConfig, TimestampingConfig, DeleteOnEmptyConfig): concrete values, produced by merging optional configs with defaults using merge().

  • Optional (OptionalStreamConfig, OptionalTimestampingConfig, OptionalDeleteOnEmptyConfig): partial configuration layers, where None means “not set at this layer; fall back to defaults.”

  • Reconfiguration (StreamReconfiguration, TimestampingReconfiguration, DeleteOnEmptyReconfiguration): PATCH-style updates applied with reconfigure().

Reconfiguration of nested fields (e.g. timestamping, delete_on_empty, default_stream_config) is applied recursively: Specified(Some(inner_reconfig)) applies the inner reconfiguration to the existing value, while Specified(None) clears it to the default.

merge() resolves optional configs into resolved configs with precedence: stream-level → basin-level → system default (via Option::or chaining).

Basin config also carries basin-level knobs like stream_cipher, create_stream_on_append, and create_stream_on_read.

Structs§

BasinConfig
BasinReconfiguration
DeleteOnEmptyConfig
DeleteOnEmptyReconfiguration
OptionalDeleteOnEmptyConfig
OptionalStreamConfig
OptionalTimestampingConfig
StorageClassIter
An iterator over the variants of StorageClass
StreamConfig
StreamReconfiguration
TimestampingConfig
TimestampingReconfiguration

Enums§

RetentionPolicy
StorageClass
TimestampingMode