pub struct StreamStateMachine { /* private fields */ }Implementations§
Source§impl StreamStateMachine
impl StreamStateMachine
pub fn new() -> Self
pub fn apply(&mut self, command: StreamCommand) -> StreamResponse
pub fn head(&self, stream_id: &BucketStreamId) -> Option<&StreamMetadata>
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 cold_chunks(&self, stream_id: &BucketStreamId) -> &[ColdChunkRef] ⓘ
pub fn external_segments( &self, stream_id: &BucketStreamId, ) -> &[ObjectPayloadRef]
pub fn hot_segments(&self, stream_id: &BucketStreamId) -> &[HotPayloadSegment]
pub fn hot_payload_len( &self, stream_id: &BucketStreamId, ) -> Result<u64, StreamResponse>
pub fn total_hot_payload_bytes(&self) -> u64
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( &self, 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_candidates: usize, ) -> Result<Vec<ColdFlushCandidate>, StreamResponse>
pub fn bucket_exists(&self, bucket_id: &str) -> bool
pub fn snapshot(&self) -> StreamSnapshot
pub fn restore(snapshot: StreamSnapshot) -> Result<Self, StreamSnapshotError>
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 delete_snapshot( &self, stream_id: &BucketStreamId, snapshot_offset: u64, ) -> StreamResponse
pub fn bootstrap_plan( &self, stream_id: &BucketStreamId, ) -> Result<StreamBootstrapPlan, 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>
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