Struct quic_rpc::transport::quinn_flume_socket::FlumeSocket

source ·
pub struct FlumeSocket(/* private fields */);
Expand description

An implementation of quinn::AsyncUdpSocket that uses flume channels

Implementations§

source§

impl FlumeSocket

source

pub fn new(local: SocketAddr, tx: Sender<Packet>, rx: Receiver<Packet>) -> Self

Create a new flume socket, with the given local address.

Sent packets will have from set to the local address, and received packets with to not set to the local address will be ignored.

Trait Implementations§

source§

impl AsyncUdpSocket for FlumeSocket

source§

fn poll_send( &self, state: &UdpState, cx: &mut Context<'_>, transmits: &[Transmit] ) -> Poll<Result<usize, Error>>

Send UDP datagrams from transmits, or register to be woken if sending may succeed in the future
source§

fn poll_recv( &self, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], meta: &mut [RecvMeta] ) -> Poll<Result<usize>>

Receive UDP datagrams, or register to be woken if receiving may succeed in the future
source§

fn local_addr(&self) -> Result<SocketAddr>

Look up the local IP address and port used by this socket
source§

fn may_fragment(&self) -> bool

Whether datagrams might get fragmented into multiple parts Read more
source§

impl Debug for FlumeSocket

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

§

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>,

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more