Skip to main content

same_job_content

Function same_job_content 

Source
pub fn same_job_content(
    e: &Envelope,
    kind: &str,
    fingerprint: &str,
    queue: &str,
) -> bool
Expand description

idempotent enqueue identity does the row that already owns this id hold the SAME job?

The comparison set is (kind, content fingerprinting fingerprint, queue). The fingerprint is content identity over kind+payload by construction — it is length-prefixed SHA-256, derived client-side, and passed through untouched by every store — so comparing it compares the payload without shipping the payload back. Kind is compared as well as hashed so that two envelopes which both omit the fingerprint still cannot pass as each other. The queue is in the set because routing is part of what a replay must not silently change. Equal → idempotent success; different → StoreError::IdConflict.