pub struct Config {Show 32 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>>,
pub metadata: HashMap<String, String>,
pub subject_transform: Option<SubjectTransform>,
pub compression: Option<Compression>,
pub consumer_limits: Option<ConsumerLimits>,
pub first_sequence: Option<u64>,
pub placement: Option<Placement>,
}
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: String
A name for the Stream. Must not have spaces, tabs or period .
characters
max_bytes: i64
How large the Stream may become in total bytes before the configured discard policy kicks in
max_messages: i64
How large the Stream may become in total messages before the configured discard policy kicks in
max_messages_per_subject: i64
Maximum amount of messages to keep per subject
discard: DiscardPolicy
When 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: bool
Prevents 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: RetentionPolicy
How message retention is considered, Limits
(default), Interest
or WorkQueue
max_consumers: i32
How many Consumers can be defined for a given Stream, -1 for unlimited
max_age: Duration
Maximum age of any message in the stream, expressed in nanoseconds
max_message_size: i32
The largest message that will be accepted by the Stream
storage: StorageType
The type of storage backend, File
(default) and Memory
num_replicas: usize
How many replicas to keep for each message in a clustered JetStream, maximum 5
no_ack: bool
Disables acknowledging messages that are received by the Stream
duplicate_window: Duration
The window within which to track duplicate messages.
template_owner: String
The owner of the template associated with this stream.
sealed: bool
Indicates 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: bool
Indicates if rollups will be allowed or not.
deny_delete: bool
Indicates deletes will be denied or not.
deny_purge: bool
Indicates if purges will be denied or not.
republish: Option<Republish>
Optional republish config.
allow_direct: bool
Enables direct get, which would get messages from non-leader.
mirror_direct: bool
Enable direct access also for mirrors.
mirror: Option<Source>
Stream mirror configuration.
sources: Option<Vec<Source>>
Sources configuration.
metadata: HashMap<String, String>
server_2_10
only.Additional stream metadata.
subject_transform: Option<SubjectTransform>
server_2_10
only.Allow applying a subject transform to incoming messages
compression: Option<Compression>
server_2_10
only.Override compression config for this stream.
Wrapping enum that has None
type with Option is there
because Stream can override global compression set to Compression::S2
to Compression::None, which is different from not overriding global config with anything.
consumer_limits: Option<ConsumerLimits>
server_2_10
only.Set limits on consumers that are created on this stream.
first_sequence: Option<u64>
server_2_10
only.Sets the first sequence for the stream.
placement: Option<Placement>
Placement configuration for clusters and tags.