pub struct StreamStateMachine { /* private fields */ }Implementations§
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn append_transaction( &mut self, commands: Vec<StreamCommand>, ) -> Result<Vec<StreamResponse>, StreamResponse>
pub fn append_borrowed( &mut self, input: AppendStreamInput<'_>, ) -> StreamResponse
pub fn append_batch_borrowed( &mut self, stream_id: BucketStreamId, content_type: Option<&str>, payloads: &[&[u8]], producer: Option<ProducerRequest>, now_ms: u64, ) -> Result<StreamBatchAppend, StreamResponse>
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn plan_cold_flush( &self, stream_id: &BucketStreamId, min_hot_bytes: usize, max_flush_bytes: usize, ) -> Result<Option<ColdFlushCandidate>, StreamResponse>
pub fn plan_next_cold_flush_batch( &self, min_hot_bytes: usize, max_flush_bytes: usize, max_batch_bytes: usize, max_candidates: usize, ) -> Result<Vec<ColdFlushCandidate>, StreamResponse>
pub fn delete_snapshot( &self, stream_id: &BucketStreamId, snapshot_offset: u64, ) -> StreamResponse
Sourcepub fn pending_cold_gc_batch(&self, max: usize) -> Vec<ColdGcEntry>
pub fn pending_cold_gc_batch(&self, max: usize) -> Vec<ColdGcEntry>
A bounded snapshot of the front of the GC queue for the leader’s worker
to reclaim. Read-only; draining is confirmed by a replicated AckColdGc.
pub fn pending_cold_gc_len(&self) -> usize
pub fn pending_cold_gc_len_for_bucket(&self, bucket_id: &str) -> usize
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn integrity_snapshot( &self, stream_id: &BucketStreamId, ) -> Result<StreamIntegritySnapshot, StreamResponse>
pub fn snapshot(&self) -> StreamSnapshot
pub fn restore(snapshot: StreamSnapshot) -> Result<Self, StreamSnapshotError>
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn head(&self, stream_id: &BucketStreamId) -> Option<&StreamMetadata>
pub fn record_range( &self, stream_id: &BucketStreamId, ) -> Result<Option<StreamRecordRange>, RecordIndexError>
pub fn offset_for_record( &self, stream_id: &BucketStreamId, record: u64, ) -> Result<Option<u64>, RecordIndexError>
pub fn record_range_for_append( &self, stream_id: &BucketStreamId, start_offset: u64, next_offset: u64, producer: Option<&ProducerRequest>, ) -> Result<Option<StreamRecordRange>, RecordIndexError>
pub fn stream_attrs(&self, stream_id: &BucketStreamId) -> Option<&StreamAttrs>
pub fn head_at( &mut self, stream_id: &BucketStreamId, now_ms: u64, ) -> Option<&StreamMetadata>
pub fn access_requires_write( &self, stream_id: &BucketStreamId, now_ms: u64, renew_ttl: bool, ) -> Result<bool, StreamResponse>
pub fn hot_start_offset(&self, stream_id: &BucketStreamId) -> u64
pub fn retained_offset(&self, stream_id: &BucketStreamId) -> u64
pub fn cold_chunks(&self, stream_id: &BucketStreamId) -> &[ColdChunkRef] ⓘ
pub fn external_segments( &self, stream_id: &BucketStreamId, ) -> &[ObjectPayloadRef]
pub fn hot_segments(&self, stream_id: &BucketStreamId) -> Vec<HotPayloadSegment>
pub fn hot_payload_len( &self, stream_id: &BucketStreamId, ) -> Result<u64, StreamResponse>
pub fn total_hot_payload_bytes(&self) -> u64
pub fn bucket_exists(&self, bucket_id: &str) -> bool
pub fn read( &self, stream_id: &BucketStreamId, offset: u64, max_len: usize, ) -> Result<StreamRead, StreamResponse>
pub fn read_plan( &self, stream_id: &BucketStreamId, offset: u64, max_len: usize, ) -> Result<StreamReadPlan, StreamResponse>
pub fn read_plan_at( &self, stream_id: &BucketStreamId, offset: u64, max_len: usize, now_ms: u64, ) -> Result<StreamReadPlan, StreamResponse>
pub fn latest_snapshot( &self, stream_id: &BucketStreamId, ) -> Result<Option<StreamVisibleSnapshot>, StreamResponse>
pub fn read_snapshot( &self, stream_id: &BucketStreamId, snapshot_offset: u64, ) -> Result<StreamVisibleSnapshot, StreamResponse>
pub fn bootstrap_plan( &self, stream_id: &BucketStreamId, ) -> Result<StreamBootstrapPlan, StreamResponse>
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn new() -> Self
Sourcepub fn bucket_quota_report(&self) -> Vec<BucketQuotaSnapshot>
pub fn bucket_quota_report(&self) -> Vec<BucketQuotaSnapshot>
Current per-bucket quotas for this group, sorted for deterministic output.
Sourcepub fn bucket_usage_report(&self) -> Vec<BucketUsageSnapshot>
pub fn bucket_usage_report(&self) -> Vec<BucketUsageSnapshot>
Current per-bucket usage for this group, sorted for deterministic output.
pub fn apply(&mut self, command: StreamCommand) -> StreamResponse
Trait Implementations§
Source§impl Clone for StreamStateMachine
impl Clone for StreamStateMachine
Source§fn clone(&self) -> StreamStateMachine
fn clone(&self) -> StreamStateMachine
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StreamStateMachine
impl Debug for StreamStateMachine
Source§impl Default for StreamStateMachine
impl Default for StreamStateMachine
Source§fn default() -> StreamStateMachine
fn default() -> StreamStateMachine
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for StreamStateMachine
impl RefUnwindSafe for StreamStateMachine
impl Send for StreamStateMachine
impl Sync for StreamStateMachine
impl Unpin for StreamStateMachine
impl UnsafeUnpin for StreamStateMachine
impl UnwindSafe for StreamStateMachine
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
Mutably borrows from an owned value. Read more