#[non_exhaustive]pub struct AdmissionInput<'a> {
pub op: &'a Operation,
pub declared_bytes: u64,
pub pack_id: Option<PackKey>,
pub creates_namespace: bool,
pub creates_repo: bool,
pub new_to_repo_bytes: Option<u64>,
pub idempotency_key: Option<&'a str>,
pub write_quota: Option<QuotaLimits>,
pub audience: Option<&'a str>,
pub credential_headers: &'a [CredentialHeader],
}Expand description
Stage 3 input: the full PRD §5.4 field set, present from M0
(reconciliation R-10). M0 fills op, declared_bytes, pack_id,
idempotency_key (the auth v2 nonce) and write_quota;
Creation fields are the pre-admission observation from op.creation;
racing first writes may both observe creation. new_to_repo_bytes stays
None until membership, and the grant comes from op.authz (M2). Bytes new to
the store are deliberately absent: they would be a pricing oracle.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.op: &'a OperationThe operation, with its verified principal.
declared_bytes: u64Bytes the request declares: 0 for ref writes.
pack_id: Option<PackKey>The pack an upload names.
creates_namespace: boolWhether the namespace was absent before admission; racing writes may both see true.
creates_repo: boolWhether the repository was absent before admission; racing writes may both see true.
new_to_repo_bytes: Option<u64>Bytes new to the repository, known only from membership (M1).
idempotency_key: Option<&'a str>The idempotency key: the auth v2 nonce of a signed write.
write_quota: Option<QuotaLimits>The deployment’s default write quota (PipelineConfig::write_quota),
which DefaultAdmission charges.
audience: Option<&'a str>Canonical server audience, when auth v2 supplies one.
credential_headers: &'a [CredentialHeader]Selected payment credentials; values never appear in debug output.