LavinMQ::AMQP::StreamMessageStore
Inherits LavinMQ::MessageStore < Reference < Object
Constructors
new(*args, **kwargs)
SourceInstance methods
acquire_segment(consumer : StreamConsumer) : Nil
Sourcecleanup_consumer_offsets
Sourceclose
Sourcedelete(sp) : Nil
Sourcedelete
Sourcedrop_expired
Sourcedrop_overflow
Sourceexpiry_changed
Signalled when the next max-age expiry may have moved: a new segment was opened or max-age changed. Closed with the store.
Used once when a consumer is started
Populates segment and position by iterating through segments
until offset is found
ameba:disable Metrics/CyclomaticComplexity
last_offset
Sourcelast_offset_by_consumer_tag(consumer_tag)
Sourcemax_age
Sourcemax_length
Sourcemax_length_bytes
Sourcenew_messages
Sourcenext_expiry
When the oldest segment expires, nil if no segment can be dropped (no max-age, or only the write segment is left)
The segment after segment and the offset of its first message
push(msg) : SegmentPosition
SourceLike #read, but yields the message outside lock, see #shift_with_lease?
release_segment(consumer : StreamConsumer) : Nil
Sourceshift?(consumer : AMQP::StreamConsumer) : Envelope | Nil
Source