pub struct ResumableStream {
pub request: SwapQuoteRequest,
pub sender: Sender<StreamData>,
pub on_end: Option<Arc<dyn Fn() + Send + Sync>>,
pub effective_id: Option<Arc<AtomicU32>>,
pub stopped: Arc<AtomicBool>,
}Expand description
Information needed to resume a stream after reconnection.
Fields§
§request: SwapQuoteRequestThe original request used to create the stream.
sender: Sender<StreamData>Channel to send stream data to.
on_end: Option<Arc<dyn Fn() + Send + Sync>>Called when this stream ends (server-initiated or reconnect failure) to release the slot.
effective_id: Option<Arc<AtomicU32>>Shared atomic that tracks the current server-side stream ID (updated on reconnect remap).
stopped: Arc<AtomicBool>Shared flag indicating the stream has been stopped or dropped by the client.
Trait Implementations§
Source§impl Clone for ResumableStream
impl Clone for ResumableStream
Source§fn clone(&self) -> ResumableStream
fn clone(&self) -> ResumableStream
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ResumableStream
impl !RefUnwindSafe for ResumableStream
impl Send for ResumableStream
impl Sync for ResumableStream
impl Unpin for ResumableStream
impl !UnwindSafe for ResumableStream
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more