pub struct Config {Show 20 fields
pub name: String,
pub max_bytes: i64,
pub max_messages: i64,
pub max_messages_per_subject: i64,
pub discard: DiscardPolicy,
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: i64,
pub template_owner: String,
pub sealed: bool,
pub description: Option<String>,
pub allow_rollup: bool,
pub deny_delete: bool,
pub deny_purge: bool,
}
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
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: i64
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.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Config
impl StructuralEq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more