Struct webrtc_sctp::stack::recvtracker::RecvTracker[][src]

pub struct RecvTracker { /* fields omitted */ }

Track received TSNs and produce SACK chunks when needed. This struct currently uses a BTreeSet to track gap ack blocks (non-consecutive TSN ranges), which may be overkill for this application since the number of such blocks will likely be small in the common case. Realistically, we won't be able to report more than 368 gap blocks in a SACK given an MTU of 1500, although we may internally track a much larger number.

TODO: Try implementations with Vec instead of BTreeSet to measure performance in common cases. TODO: Consider limiting the number of gaps so a malicious peer can't exhaust our memory with a carefully constructed series of discontinuous TSNs. This may not be a problem, though, since the receive window should naturally bound the size.

TODO: a_rwnd calculation

Methods

impl RecvTracker
[src]

Return false if this is a duplicate chunk.

Trait Implementations

impl Debug for RecvTracker
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for RecvTracker

impl !Sync for RecvTracker