pub struct UploadSessionState {
pub namespace_id: NamespaceId,
pub upload_id: UploadId,
pub content_id: ContentId,
pub created_at_ms: u64,
pub transport: UploadSessionTransport,
pub state: UploadSessionLifecycle,
}Expand description
Tracks one durable content-upload workflow independently of commit publication.
The record is an identity, a transport, and a state. Everything a transport needs lives in its own variant and everything a state needs lives in its own variant, so the combinations that used to be spelled with independent optional fields — a proxied session holding a provider upload or a multipart session promising content — are not shapes this type has.
Fields§
§namespace_id: NamespaceIdNamespace authorized to consume the staged content.
upload_id: UploadIdDurable session identity used by staging and completion requests.
content_id: ContentIdContent object this session writes, allocated when the session began.
The identity exists before any byte is read, so the final object key
is known up front and belongs to exactly this session. Every
reference the record holds names this object; see validate below,
which refuses a record that disagrees with itself.
created_at_ms: u64Unix-millisecond creation stamp.
transport: UploadSessionTransportHow the bytes reach object storage, settled when the session opened.
state: UploadSessionLifecycleThe session’s lifecycle, and the field every upload operation compare-and-swaps against.
Trait Implementations§
Source§impl Clone for UploadSessionState
impl Clone for UploadSessionState
Source§fn clone(&self) -> UploadSessionState
fn clone(&self) -> UploadSessionState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UploadSessionState
impl Debug for UploadSessionState
Source§impl<'de> Deserialize<'de> for UploadSessionState
impl<'de> Deserialize<'de> for UploadSessionState
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Reads one session record and refuses one that validate finds
disagreeing with itself, like any other corruption and with no shim
or salvage.