pub struct EnqueueAdmission {
pub task_id: String,
pub challenge: String,
pub difficulty: u32,
pub request: EnqueueRequest,
}Expand description
Admission ticket the edge mints for one canonical enqueue task when a public request misses the cache.
Returned inside miss responses — as the 404 body of
POST /api/v1/artifacts/semantic and in
DependencyGraphResponse::miss_admissions — so the fetch path stays
cheap. The client redeems the ticket by solving its proof-of-work and
posting an EnqueueTicket to POST /api/v1/enqueue.
Fields§
§task_id: StringCanonical scheduler task id (blake3-derived identity string).
challenge: StringServer-issued challenge — the hex HMAC-SHA256 over
task_id ‖ canonical request JSON ‖ issue_minute under the edge’s
STOW_POW_CHALLENGE_SECRET. Opaque to clients; accepted during its
issue minute and the minute after it.
difficulty: u32Leading zero bits the client’s
blake3(task_id ‖ challenge ‖ nonce) digest must show for
/enqueue to accept the ticket. 0 means the queue is shallow
enough that admission is free.
request: EnqueueRequestThe canonical enqueue request this admission authorizes. The edge is
stateless: the client echoes request back in its ticket and
/api/v1/enqueue forwards it to the scheduler after verifying the
challenge binds it.
Trait Implementations§
Source§impl Clone for EnqueueAdmission
impl Clone for EnqueueAdmission
Source§impl ComposeSchema for EnqueueAdmission
impl ComposeSchema for EnqueueAdmission
Source§impl Debug for EnqueueAdmission
impl Debug for EnqueueAdmission
Source§impl<'de> Deserialize<'de> for EnqueueAdmission
impl<'de> Deserialize<'de> for EnqueueAdmission
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>,
impl Eq for EnqueueAdmission
Source§impl PartialEq for EnqueueAdmission
impl PartialEq for EnqueueAdmission
Source§impl Serialize for EnqueueAdmission
impl Serialize for EnqueueAdmission
impl StructuralPartialEq for EnqueueAdmission
Auto Trait Implementations§
impl Freeze for EnqueueAdmission
impl RefUnwindSafe for EnqueueAdmission
impl Send for EnqueueAdmission
impl Sync for EnqueueAdmission
impl Unpin for EnqueueAdmission
impl UnsafeUnpin for EnqueueAdmission
impl UnwindSafe for EnqueueAdmission
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.