pub enum KernelRequest {
Show 15 variants
Health {},
Status {},
Watermark {},
VerifySealed {},
SubmitCommand {
envelope: CommandEnvelope,
},
GetProjection {
projection: ProjectionKind,
id: String,
},
ListProjection {
projection: ProjectionKind,
cursor: Option<String>,
limit: Option<u32>,
},
ReadEvents {
cursor: Option<Seq>,
limit: u32,
},
SubscribeEvents {
cursor: Option<Seq>,
},
BlobBegin {
media_type: String,
byte_size: ByteCount,
},
BlobChunk {
upload_id: BlobUploadId,
sequence: u32,
data_base64: String,
},
BlobCommit {
upload_id: BlobUploadId,
address: BlobAddress,
},
BlobAbort {
upload_id: BlobUploadId,
},
BlobRead {
address: BlobAddress,
offset: ByteCount,
length: ByteCount,
},
BlobStat {
address: BlobAddress,
},
}Expand description
What a client asks for. Tagged by type.
The four field-less requests are written {} rather than as unit variants,
and the difference is not cosmetic: serde applies deny_unknown_fields to
an internally tagged enum’s STRUCT variants only, so as unit variants they
would accept {"type": "health", "limit": 500} and answer as though the
caller had said nothing extra. An empty struct variant serializes to the
identical {"type": "health"} — the wire does not change, the strictness
does.
Variants§
Health
Liveness only. Served sealed and active.
Status
Full readiness detail. Served sealed and active.
Watermark
How far the log goes, without a subscription. Served sealed and active.
VerifySealed
Prove the fresh epoch: exactly one genesis event, zero business rows. Served sealed and active.
SubmitCommand
The only mutation path. Sealed kernels admit activate_kernel alone.
Fields
envelope: CommandEnvelopeGetProjection
ListProjection
ReadEvents
One page of events strictly after cursor (absent = from the
beginning). limit is CLAMPED, not refused
(MAX_READ_LIMIT).
SubscribeEvents
Durable-cursor subscription. Delivery is at-least-once; a reconnect from the last cursor recovers everything, in order.
BlobBegin
BlobChunk
One plaintext chunk, base64 in a bounded control frame — blob bytes
never ride an ordinary payload (ADR 0001). Chunks are
BLOB_CHUNK_BYTES of plaintext, whose
base64 expansion stays inside FRAME_BODY_MAX_BYTES.
Fields
upload_id: BlobUploadIdBlobCommit
Finish an upload. The kernel recomputes the plaintext digest and
refuses if it is not address.
BlobAbort
Fields
upload_id: BlobUploadIdBlobRead
BlobStat
Fields
address: BlobAddressTrait Implementations§
Source§impl Clone for KernelRequest
impl Clone for KernelRequest
Source§fn clone(&self) -> KernelRequest
fn clone(&self) -> KernelRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more