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 usingmerge(). -
Optional (
OptionalStreamConfig,OptionalTimestampingConfig,OptionalDeleteOnEmptyConfig): partial configuration layers, whereNonemeans “not set at this layer; fall back to defaults.” -
Reconfiguration (
StreamReconfiguration,TimestampingReconfiguration,DeleteOnEmptyReconfiguration): PATCH-style updates applied withreconfigure().
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§
- Basin
Config - Basin
Reconfiguration - Delete
OnEmpty Config - Delete
OnEmpty Reconfiguration - Optional
Delete OnEmpty Config - Optional
Stream Config - Optional
Timestamping Config - Storage
Class Iter - An iterator over the variants of StorageClass
- Stream
Config - Stream
Reconfiguration - Timestamping
Config - Timestamping
Reconfiguration