pub enum StreamCommand {
Show 19 variants
CreateBucket {
bucket_id: String,
},
DeleteBucket {
bucket_id: String,
},
CreateStream {
stream_id: BucketStreamId,
content_type: String,
initial_payload: Bytes,
close_after: bool,
stream_seq: Option<String>,
producer: Option<ProducerRequest>,
stream_ttl_seconds: Option<u64>,
stream_expires_at_ms: Option<u64>,
attrs: Option<StreamAttrs>,
now_ms: u64,
},
CreateExternal {
stream_id: BucketStreamId,
content_type: String,
initial_payload: ExternalPayloadRef,
record_ends: Vec<u64>,
close_after: bool,
stream_seq: Option<String>,
producer: Option<ProducerRequest>,
stream_ttl_seconds: Option<u64>,
stream_expires_at_ms: Option<u64>,
attrs: Option<StreamAttrs>,
now_ms: u64,
},
Append {
stream_id: BucketStreamId,
content_type: Option<String>,
payload: Bytes,
close_after: bool,
stream_seq: Option<String>,
producer: Option<ProducerRequest>,
now_ms: u64,
record_match: Option<u64>,
},
AppendExternal {
stream_id: BucketStreamId,
content_type: Option<String>,
payload: ExternalPayloadRef,
record_ends: Vec<u64>,
close_after: bool,
stream_seq: Option<String>,
producer: Option<ProducerRequest>,
now_ms: u64,
record_match: Option<u64>,
},
AppendBatch {
stream_id: BucketStreamId,
content_type: Option<String>,
payloads: Vec<Bytes>,
producer: Option<ProducerRequest>,
now_ms: u64,
},
PublishSnapshot {
stream_id: BucketStreamId,
snapshot_offset: u64,
content_type: String,
payload: Bytes,
expected_digest: Option<String>,
now_ms: u64,
},
AdvanceRetention {
stream_id: BucketStreamId,
retained_offset: u64,
now_ms: u64,
},
TouchStreamAccess {
stream_id: BucketStreamId,
now_ms: u64,
renew_ttl: bool,
},
UpdateStreamAttrs {
stream_id: BucketStreamId,
attrs: Option<StreamAttrs>,
now_ms: u64,
},
FlushCold {
stream_id: BucketStreamId,
chunk: ColdChunkRef,
},
CompactCold {
stream_id: BucketStreamId,
old_chunks: Vec<ColdChunkRef>,
replacement: ColdChunkRef,
gc_not_before_ms: u64,
},
Close {
stream_id: BucketStreamId,
stream_seq: Option<String>,
producer: Option<ProducerRequest>,
now_ms: u64,
},
DeleteStream {
stream_id: BucketStreamId,
},
PurgeBucket {
bucket_id: String,
},
AckColdGc {
up_to_seq: u64,
},
ImportSnapshot {
snapshot: Box<StreamSnapshot>,
},
SetBucketQuota {
bucket_id: String,
max_streams: Option<u64>,
max_retained_bytes: Option<u64>,
},
}Variants§
CreateBucket
DeleteBucket
CreateStream
CreateExternal
Fields
stream_id: BucketStreamIdinitial_payload: ExternalPayloadRefproducer: Option<ProducerRequest>attrs: Option<StreamAttrs>Append
AppendExternal
AppendBatch
PublishSnapshot
Fields
stream_id: BucketStreamIdAdvanceRetention
TouchStreamAccess
UpdateStreamAttrs
FlushCold
CompactCold
Replaces a contiguous run of immutable cold chunks with one equivalent object. The external cold-index page update is completed before this command is replicated; applying it schedules the old paths for delayed reclamation.
Close
DeleteStream
Fields
stream_id: BucketStreamIdPurgeBucket
Administrator-triggered tenant offboarding: removes every stream in the bucket, the bucket itself, and its quota in this group. Monotonic aggregate usage is retained for asynchronous accounting. Idempotent — purging an absent bucket reports zero removals.
AckColdGc
Confirms the leader’s background worker has physically reclaimed every
queued cold-GC entry with seq <= up_to_seq; removes them from the
replicated queue. Idempotent under replay.
ImportSnapshot
Replaces this group’s entire state with a backup snapshot.
Restore-only: the target group must be empty. Travelling as a normal replicated command keeps every replica of the restored cluster deterministic while the cluster retains its own raft identity and membership – nothing from the backed-up cluster’s raft metadata is reused.
Fields
snapshot: Box<StreamSnapshot>SetBucketQuota
Sets or clears this group’s data-plane quota record for a bucket.
Replicated to every group so each enforces the same local backstop;
both limits None removes the record. Idempotent under replay.
Trait Implementations§
Source§impl Clone for StreamCommand
impl Clone for StreamCommand
Source§fn clone(&self) -> StreamCommand
fn clone(&self) -> StreamCommand
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more