pub struct PendingQueueConfig {
pub max_pending_per_peer: usize,
pub max_pending_global: usize,
pub max_pending_bytes_per_peer: usize,
pub max_pending_bytes_global: usize,
pub pending_ttl_ms: u64,
pub overflow_policy: OverflowPolicy,
}Expand description
Configuration for inbound encrypted messages received before session readiness.
Fields§
§max_pending_per_peer: usizeMaximum number of pending encrypted messages per peer.
max_pending_global: usizeMaximum number of pending encrypted messages across all peers.
max_pending_bytes_per_peer: usizeMaximum total payload bytes (content plus binary content) queued per peer.
Encrypted media chunks are queued whole while the sender’s session is
not yet ready, so the count limits alone would admit up to
max_pending_per_peer × chunk-size bytes of ciphertext. The default
(4 MB) covers the largest legitimate pre-session backlog: 2 concurrent
transfers × 8 in-flight chunks × 256 KB internet chunks.
max_pending_bytes_global: usizeMaximum total payload bytes queued across all peers. The default (32 MB) bounds worst-case queue memory on mobile devices regardless of how many peers are mid-establishment.
pending_ttl_ms: u64Time-to-live for pending encrypted messages in milliseconds.
overflow_policy: OverflowPolicyOverflow policy when queue limits are reached.
Trait Implementations§
Source§impl Clone for PendingQueueConfig
impl Clone for PendingQueueConfig
Source§fn clone(&self) -> PendingQueueConfig
fn clone(&self) -> PendingQueueConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PendingQueueConfig
impl Debug for PendingQueueConfig
Source§impl Default for PendingQueueConfig
impl Default for PendingQueueConfig
Source§impl<'de> Deserialize<'de> for PendingQueueConfig
impl<'de> Deserialize<'de> for PendingQueueConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for PendingQueueConfig
impl RefUnwindSafe for PendingQueueConfig
impl Send for PendingQueueConfig
impl Sync for PendingQueueConfig
impl Unpin for PendingQueueConfig
impl UnsafeUnpin for PendingQueueConfig
impl UnwindSafe for PendingQueueConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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