pub struct DeduplicationToken {
pub id: String,
/* private fields */
}Expand description
Ownership token issued when a new request is registered with the
Deduplicator.
The holder of a DeduplicationToken is the authoritative worker for
that request key. It must call either Deduplicator::complete or
Deduplicator::fail to resolve the pending state.
§Drop behaviour
If a token is dropped without calling complete or fail, the
InProgress entry is automatically removed from the deduplicator so that
subsequent callers are not permanently blocked. A WARN-level log line
is emitted in this case.
§Cloning
Tokens are Clone because they are cheaply cloneable (Arc-backed), but
only the first clone to call complete or fail takes effect;
subsequent calls on other clones are no-ops.
Fields§
§id: StringUnique identifier for this deduplication token.
Useful for structured log correlation.
Trait Implementations§
Source§impl Clone for DeduplicationToken
impl Clone for DeduplicationToken
Source§fn clone(&self) -> DeduplicationToken
fn clone(&self) -> DeduplicationToken
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DeduplicationToken
impl Debug for DeduplicationToken
Source§impl Drop for DeduplicationToken
impl Drop for DeduplicationToken
Auto Trait Implementations§
impl !RefUnwindSafe for DeduplicationToken
impl !UnwindSafe for DeduplicationToken
impl Freeze for DeduplicationToken
impl Send for DeduplicationToken
impl Sync for DeduplicationToken
impl Unpin for DeduplicationToken
impl UnsafeUnpin for DeduplicationToken
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request