pub struct GradientStream { /* private fields */ }Expand description
Bidirectional gradient stream
Implementations§
Source§impl GradientStream
impl GradientStream
Sourcepub fn new(aggregator: Arc<GradientAggregator>, max_queue_size: usize) -> Self
pub fn new(aggregator: Arc<GradientAggregator>, max_queue_size: usize) -> Self
Create a new gradient stream
Sourcepub async fn push_gradient(&self, gradient: GradientMessage) -> Result<()>
pub async fn push_gradient(&self, gradient: GradientMessage) -> Result<()>
Push a gradient to send
Sourcepub async fn pop_gradient(&self) -> Option<GradientMessage>
pub async fn pop_gradient(&self) -> Option<GradientMessage>
Pop a gradient to send
Sourcepub async fn receive_gradient(&self, gradient: GradientMessage) -> Result<()>
pub async fn receive_gradient(&self, gradient: GradientMessage) -> Result<()>
Receive a gradient
Sourcepub async fn queue_size(&self) -> usize
pub async fn queue_size(&self) -> usize
Get queue size
Auto Trait Implementations§
impl Freeze for GradientStream
impl !RefUnwindSafe for GradientStream
impl Send for GradientStream
impl Sync for GradientStream
impl Unpin for GradientStream
impl !UnwindSafe for GradientStream
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 more