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: 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.
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.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)