Struct async_nats::jetstream::stream::Config
source · pub struct Config {Show 26 fields
pub name: String,
pub max_bytes: i64,
pub max_messages: i64,
pub max_messages_per_subject: i64,
pub discard: DiscardPolicy,
pub discard_new_per_subject: bool,
pub subjects: Vec<String>,
pub retention: RetentionPolicy,
pub max_consumers: i32,
pub max_age: Duration,
pub max_message_size: i32,
pub storage: StorageType,
pub num_replicas: usize,
pub no_ack: bool,
pub duplicate_window: Duration,
pub template_owner: String,
pub sealed: bool,
pub description: Option<String>,
pub allow_rollup: bool,
pub deny_delete: bool,
pub deny_purge: bool,
pub republish: Option<Republish>,
pub allow_direct: bool,
pub mirror_direct: bool,
pub mirror: Option<Source>,
pub sources: Option<Vec<Source>>,
}Expand description
StreamConfig determines the properties for a stream.
There are sensible defaults for most. If no subjects are
given the name will be used as the only subject.
Fields§
§name: StringA name for the Stream. Must not have spaces, tabs or period . characters
max_bytes: i64How large the Stream may become in total bytes before the configured discard policy kicks in
max_messages: i64How large the Stream may become in total messages before the configured discard policy kicks in
max_messages_per_subject: i64Maximum amount of messages to keep per subject
discard: DiscardPolicyWhen a Stream has reached its configured max_bytes or max_msgs, this policy kicks in.
DiscardPolicy::New refuses new messages or DiscardPolicy::Old (default) deletes old messages to make space
discard_new_per_subject: boolPrevents a message from being added to a stream if the max_msgs_per_subject limit for the subject has been reached
subjects: Vec<String>Which NATS subjects to populate this stream with. Supports wildcards. Defaults to just the
configured stream name.
retention: RetentionPolicyHow message retention is considered, Limits (default), Interest or WorkQueue
max_consumers: i32How many Consumers can be defined for a given Stream, -1 for unlimited
max_age: DurationMaximum age of any message in the stream, expressed in nanoseconds
max_message_size: i32The largest message that will be accepted by the Stream
storage: StorageTypeThe type of storage backend, File (default) and Memory
num_replicas: usizeHow many replicas to keep for each message in a clustered JetStream, maximum 5
no_ack: boolDisables acknowledging messages that are received by the Stream
duplicate_window: DurationThe window within which to track duplicate messages.
template_owner: StringThe owner of the template associated with this stream.
sealed: boolIndicates the stream is sealed and cannot be modified in any way
description: Option<String>A short description of the purpose of this stream.
allow_rollup: boolIndicates if rollups will be allowed or not.
deny_delete: boolIndicates deletes will be denied or not.
deny_purge: boolIndicates if purges will be denied or not.
republish: Option<Republish>Optional republish config.
allow_direct: boolEnables direct get, which would get messages from non-leader.
mirror_direct: boolEnable direct access also for mirrors.
mirror: Option<Source>Stream mirror configuration.
sources: Option<Vec<Source>>Sources configuration.