pub struct OneTimeSecret { /* private fields */ }Expand description
A credential that can be fetched exactly once. The desktop app fetches it from the loopback handoff endpoint; a second fetch (a replay, or a stray request) gets nothing. Thread-safe so the handoff server’s handler and the waiting CLI can share it.
Implementations§
Source§impl OneTimeSecret
impl OneTimeSecret
Sourcepub fn new(secret: String) -> OneTimeSecret
pub fn new(secret: String) -> OneTimeSecret
Wrap a secret for single-use retrieval.
Sourcepub fn take(&self) -> Option<String>
pub fn take(&self) -> Option<String>
Take the secret, leaving the channel empty. Returns None if already
taken (replay) — the first caller wins and no one else sees it.
Sourcepub fn is_consumed(&self) -> bool
pub fn is_consumed(&self) -> bool
Whether the secret has already been consumed.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for OneTimeSecret
impl RefUnwindSafe for OneTimeSecret
impl Send for OneTimeSecret
impl Sync for OneTimeSecret
impl Unpin for OneTimeSecret
impl UnsafeUnpin for OneTimeSecret
impl UnwindSafe for OneTimeSecret
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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