pub struct UploadSessionState {
pub namespace_id: NamespaceId,
pub upload_id: UploadId,
pub content_id: ContentId,
pub created_at_ms: u64,
pub subject_id: Option<SubjectId>,
pub mode: UploadSessionMode,
pub status: UploadSessionRecordStatus,
}Expand description
Tracks one durable content-upload workflow independently of commit publication.
The tagged mode and status variants permit only valid field combinations.
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.
subject_id: Option<SubjectId>The subject that opened the session, recorded in an ACL namespace.
mode: UploadSessionModeHow the bytes reach object storage, settled when the session opened.
status: UploadSessionRecordStatusThe session’s status, and the field every upload operation compare-and-swaps against.
Trait Implementations§
Source§impl Clone for UploadSessionState
impl Clone for UploadSessionState
Source§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.