Skip to main content

Rfc8888Interceptor

Struct Rfc8888Interceptor 

Source
pub struct Rfc8888Interceptor<P> { /* private fields */ }
Expand description

Reports when each packet of each bound remote stream arrived (RFC 8888).

§Differences from upstream

pion/interceptor injects a SenderTicker and a SenderNow so its tests can control time. Sans-I/O needs neither: every instant arrives as a parameter, so the tests drive the clock by passing one. Both are dropped.

Upstream’s Recorder also never sets its sender SSRC, so every report it builds claims to come from SSRC 0. Here it is configured.

Trait Implementations§

Source§

impl<P: Interceptor> Interceptor for Rfc8888Interceptor<P>

Source§

fn bind_local_stream(&mut self, info: &StreamInfo)

bind_local_stream lets you modify any outgoing RTP packets. It is called once for per LocalStream. The returned method will be called once per rtp packet.
Source§

fn unbind_local_stream(&mut self, info: &StreamInfo)

unbind_local_stream is called when the Stream is removed. It can be used to clean up any data related to that track.
Source§

fn bind_remote_stream(&mut self, info: &StreamInfo)

bind_remote_stream lets you modify any incoming RTP packets. It is called once for per RemoteStream. The returned method will be called once per rtp packet.
Source§

fn unbind_remote_stream(&mut self, info: &StreamInfo)

unbind_remote_stream is called when the Stream is removed. It can be used to clean up any data related to that track.
Source§

fn with<O, F>(self, f: F) -> O
where Self: Sized, F: FnOnce(Self) -> O, O: Interceptor,

Wrap this interceptor with another layer. Read more
Source§

impl<P: Interceptor> Protocol<TransportMessage<Packet>, TransportMessage<Packet>, ()> for Rfc8888Interceptor<P>

Source§

type Rout = TransportMessage<Packet>

Output read message type Read more
Source§

type Wout = TransportMessage<Packet>

Output write message type Read more
Source§

type Eout = ()

Output event type Read more
Source§

type Error = Error

Error type for protocol operations
Source§

type Time = Instant

Time/Instant type for timeout handling Read more
Source§

fn poll_read(&mut self) -> Option<Self::Rout>

Poll for a processed read message. Read more
Source§

fn handle_write(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>

Handle an outgoing write message. Read more
Source§

fn handle_event(&mut self, evt: ()) -> Result<(), Self::Error>

Handle a custom event. Read more
Source§

fn poll_event(&mut self) -> Option<Self::Eout>

Poll for a generated event. Read more
Source§

fn close(&mut self) -> Result<(), Self::Error>

Close the protocol. Read more
Source§

fn handle_read(&mut self, msg: TaggedPacket) -> Result<(), Self::Error>

Handle an incoming read message. Read more
Source§

fn handle_timeout(&mut self, now: Self::Time) -> Result<(), Self::Error>

Handle a timeout event. Read more
Source§

fn poll_timeout(&mut self) -> Option<Self::Time>

Poll for the next timeout deadline. Read more
Source§

fn poll_write(&mut self) -> Option<Self::Wout>

Poll for a processed write message. Read more

Auto Trait Implementations§

§

impl<P> !RefUnwindSafe for Rfc8888Interceptor<P>

§

impl<P> !UnwindSafe for Rfc8888Interceptor<P>

§

impl<P> Freeze for Rfc8888Interceptor<P>
where P: Freeze,

§

impl<P> Send for Rfc8888Interceptor<P>
where P: Send,

§

impl<P> Sync for Rfc8888Interceptor<P>
where P: Sync,

§

impl<P> Unpin for Rfc8888Interceptor<P>
where P: Unpin,

§

impl<P> UnsafeUnpin for Rfc8888Interceptor<P>
where P: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.