struct

NATS::JetStream::Streams

Inherits Struct / Value / Object

A stream in NATS JetStream represents the history of messages pertaining to a given domain. When you publish a message to a subject that a stream is monitoring, the stream then adds that message to its history in the order it was published.

Constructors

new(nats : NATS::Client)
Source

Instance methods

create(storage : StreamConfig::Storage, retention : StreamConfig::RetentionPolicy | Nil = nil, discard : StreamConfig::DiscardPolicy | Nil = nil, compression : StreamConfig::Compression = :none, **kwargs) : Stream

Create a stream of the given storage type and with the given properties, which are passed unmodified to NATS::JetStream::StreamConfig.new.

Source
delete(stream : JetStream::Stream)

Delete the given stream

Source
delete(stream : String)

Delete the stream with the given name

Source
direct_get(stream : String, *, last_by_subject : String) : JetStream::StreamGetMsgResponse | Nil

The get_msg API involves some administrative overhead and usually routes to the stream's primary node in the NATS cluster. The direct_get method uses the DIRECT.GET API which allows any server hosting the stream (including replicas) to respond with the message data. Specifying last_by_subject allows you to get the last message in a stream that was published to a specific subject. This is used by NATS::KV internally to fetch values for a given key from replicas for the KV's backing stream.

NOTE: In order to use this API, the stream must have been created with allow_direct set to true. For performance reasons, the client does not perform this check.

Source
direct_get(stream : String, *, sequence : Int, next_by_subject : String | Nil = nil)

The get_msg API involves some administrative overhead and usually routes to the stream's primary node in the NATS cluster. The direct_get method uses the DIRECT.GET API which allows any server hosting the stream (including replicas) to respond with the message data. Specifying last_by_subject allows you to get the last message in a stream that was published to a specific subject. This is used by NATS::KV internally to fetch values for a given key from replicas for the KV's backing stream.

NOTE: In order to use this API, the stream must have been created with allow_direct set to true. For performance reasons, the client does not perform this check.

Source
get_msg(stream : String, *, last_by_subject : String)
Source
get_msg(stream : String, *, sequence : Int, next_by_subject : String | Nil = nil)
Source
info(name : String) : Stream | Nil

Get the current state of the stream with the given name

Source
list(subject : String | Nil = nil, offset : Int | Nil = nil, limit : Int | Nil = nil)

List all available streams

Source
purge(stream : String, subject : String) : Int64
Source

Nested types