pub struct UserOutboundSender {
messages: Sender<QueuedUserOutbound>,
overflow: Sender<Option<UserOutboundOverflow>>,
metrics: Arc<RuntimeMetrics>,
limits: UserOutboundQueueLimits,
queued_bytes: Arc<AtomicUsize>,
latest_track_snapshot: Arc<Mutex<Option<VersionedRemoteTrackSnapshot>>>,
}Fields§
§messages: Sender<QueuedUserOutbound>§overflow: Sender<Option<UserOutboundOverflow>>§metrics: Arc<RuntimeMetrics>§limits: UserOutboundQueueLimits§queued_bytes: Arc<AtomicUsize>§latest_track_snapshot: Arc<Mutex<Option<VersionedRemoteTrackSnapshot>>>Implementations§
Source§impl UserOutboundSender
impl UserOutboundSender
pub fn channel( capacity: usize, metrics: Arc<RuntimeMetrics>, ) -> (Self, UserOutboundReceiver)
pub fn channel_with_limits( limits: UserOutboundQueueLimits, metrics: Arc<RuntimeMetrics>, ) -> (Self, UserOutboundReceiver)
Sourcepub fn send(&self, outbound: UserOutbound) -> Result<(), UserOutboundSendError>
pub fn send(&self, outbound: UserOutbound) -> Result<(), UserOutboundSendError>
Enqueues outbound without waiting for capacity.
UserOutboundSendError::Full also signals an overflow event for
UserOutboundReceiver::recv_event.
§Errors
Returns UserOutboundSendError::Full when message-count or byte
capacity is exhausted. Returns UserOutboundSendError::Closed when the
receiver has been dropped.
Sourcepub(super) fn send_remote_tracks(
&self,
snapshot: VersionedRemoteTrackSnapshot,
) -> Result<(), UserOutboundSendError>
pub(super) fn send_remote_tracks( &self, snapshot: VersionedRemoteTrackSnapshot, ) -> Result<(), UserOutboundSendError>
Suppresses older track state while carrying every late negotiation edge forward on the latest snapshot.
fn enqueue(&self, outbound: UserOutbound) -> Result<(), UserOutboundSendError>
fn reserve_bytes(&self, bytes: usize) -> Result<(), UserOutboundSendError>
fn release_bytes(&self, bytes: usize)
fn mark_overflow( &self, kind: UserOutboundOverflowKind, queued_bytes: usize, message_bytes: usize, ) -> UserOutboundOverflow
Trait Implementations§
Source§impl Clone for UserOutboundSender
impl Clone for UserOutboundSender
Source§fn clone(&self) -> UserOutboundSender
fn clone(&self) -> UserOutboundSender
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 UserOutboundSender
impl RefUnwindSafe for UserOutboundSender
impl Send for UserOutboundSender
impl Sync for UserOutboundSender
impl Unpin for UserOutboundSender
impl UnsafeUnpin for UserOutboundSender
impl UnwindSafe for UserOutboundSender
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
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> 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