struct
NATS::JetStream::StreamConfig
- NATS::JetStream::StreamConfig
- NATS::JetStream::Entity
- Struct
- Value
- Object
Defined in:
jetstream/stream_config.crConstructors
- .new(pull : JSON::PullParser)
- .new(name : String, subjects : Nil | Array(String) = nil, description : Nil | String = nil, max_age : Time::Span | Nil = nil, max_bytes : Int64 | Nil = nil, max_msg_size : Int32 | Nil = nil, max_msgs : Int64 | Nil = nil, max_msgs_per_subject : Int64 | Nil = nil, max_consumers : Int32 | Nil = nil, no_ack : Bool | Nil = false, replicas : Int32 = 1, retention : RetentionPolicy | Nil = nil, allow_rollup_headers : Bool | Nil = nil, deny_delete : Bool | Nil = nil, allow_direct : Bool | Nil = nil, mirror_direct : Bool | Nil = nil, republish : NATS::JetStream::StreamConfig::Republish | Nil = nil, placement : NATS::JetStream::StreamConfig::Placement | Nil = nil, mirror : NATS::JetStream::StreamSource | Nil = nil, sources : Nil | Array(NATS::JetStream::StreamSource) = nil, discard_new_per_subject : Bool | Nil = nil, discard : DiscardPolicy | Nil = nil, allow_msg_ttl : Bool | Nil = false, allow_msg_counter : Bool | Nil = false, allow_msg_schedules : Bool | Nil = false, first_seq : UInt64 | Nil = nil, subject_transform : NATS::JetStream::SubjectTransform | Nil = nil, consumer_limits : NATS::JetStream::StreamConfig::ConsumerLimits | Nil = nil, subject_delete_marker_ttl : Time::Span | Nil = nil, allow_atomic_publish : Bool | Nil = nil, allow_batch_publish : Bool | Nil = nil, persist_mode : PersistMode | Nil = nil, metadata : Nil | Hash(String, String) = nil, storage : Storage = :file, compression : NATS::JetStream::StreamConfig::Compression = :none)
Instance Method Summary
- #allow_atomic_publish? : Bool | Nil
- #allow_batch_publish? : Bool | Nil
- #allow_direct? : Bool | Nil
- #allow_msg_counter? : Bool | Nil
- #allow_msg_schedules? : Bool | Nil
- #allow_msg_ttl? : Bool | Nil
- #allow_rollup_headers? : Bool | Nil
- #compression : Compression
- #consumer_limits : ConsumerLimits | Nil
-
#copy_with(**changes : **T) : self forall T
Returns a copy of this config with the given settings changed, leaving this one untouched.
- #deny_delete? : Bool | Nil
- #deny_purge? : Bool | Nil
- #description : String | Nil
- #discard : DiscardPolicy | Nil
- #discard_new_per_subject? : Bool | Nil
- #duplicate_window : Time::Span | Nil
- #first_seq : UInt64 | Nil
- #max_age : Time::Span | Nil
- #max_bytes : Int64 | Nil
- #max_consumers : Int32 | Nil
- #max_msg_size : Int32 | Nil
- #max_msgs : Int64 | Nil
- #max_msgs_per_subject : Int64 | Nil
- #metadata : Hash(String, String)
- #mirror : StreamSource | Nil
- #mirror_direct? : Bool | Nil
-
#name : String
Name of this stream
- #no_ack? : Bool | Nil
- #persist_mode : PersistMode | Nil
- #placement : Placement | Nil
- #replicas : Int32
- #republish : Republish | Nil
- #retention : RetentionPolicy | Nil
- #sealed? : Bool | Nil
- #sources : Array(StreamSource)
- #storage : Storage
- #subject_delete_marker_ttl : Time::Span | Nil
- #subject_transform : SubjectTransform | Nil
-
#subjects : Array(String)
Which subjects this stream will listen for.
Constructor methods inherited from struct NATS::JetStream::Entity
new(pull : JSON::PullParser)new(*, __pull_for_json_serializable pull : JSON::PullParser) new
Constructor Detail
def self.new(name : String, subjects : Nil | Array(String) = nil, description : Nil | String = nil, max_age : Time::Span | Nil = nil, max_bytes : Int64 | Nil = nil, max_msg_size : Int32 | Nil = nil, max_msgs : Int64 | Nil = nil, max_msgs_per_subject : Int64 | Nil = nil, max_consumers : Int32 | Nil = nil, no_ack : Bool | Nil = false, replicas : Int32 = 1, retention : RetentionPolicy | Nil = nil, allow_rollup_headers : Bool | Nil = nil, deny_delete : Bool | Nil = nil, allow_direct : Bool | Nil = nil, mirror_direct : Bool | Nil = nil, republish : NATS::JetStream::StreamConfig::Republish | Nil = nil, placement : NATS::JetStream::StreamConfig::Placement | Nil = nil, mirror : NATS::JetStream::StreamSource | Nil = nil, sources : Nil | Array(NATS::JetStream::StreamSource) = nil, discard_new_per_subject : Bool | Nil = nil, discard : DiscardPolicy | Nil = nil, allow_msg_ttl : Bool | Nil = false, allow_msg_counter : Bool | Nil = false, allow_msg_schedules : Bool | Nil = false, first_seq : UInt64 | Nil = nil, subject_transform : NATS::JetStream::SubjectTransform | Nil = nil, consumer_limits : NATS::JetStream::StreamConfig::ConsumerLimits | Nil = nil, subject_delete_marker_ttl : Time::Span | Nil = nil, allow_atomic_publish : Bool | Nil = nil, allow_batch_publish : Bool | Nil = nil, persist_mode : PersistMode | Nil = nil, metadata : Nil | Hash(String, String) = nil, storage : Storage = :file, compression : NATS::JetStream::StreamConfig::Compression = :none)
#
Instance Method Detail
def copy_with(**changes : **T) : self forall T
#
Returns a copy of this config with the given settings changed, leaving this one untouched.
config.copy_with(max_age: 7.days, max_msgs: 1_000_000_i64)