UdpSenderHelper

Struct UdpSenderHelper 

Source
pub struct UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut> { /* private fields */ }
Expand description

A helper for constructing UdpSenders from an underlying Socket type.

This struct implements UdpSender if MakeWritableFn produces a WritableFut.

Also serves as a trick, since WritableFut doesn’t need to be a named future, it can be an anonymous async block, as long as MakeWritableFn produces that anonymous async block type.

The UdpSenderHelper generic type parameters don’t need to named, as it will be used in its dyn-compatible form as a Pin<Box<dyn UdpSender>>.

Implementations§

Source§

impl<Socket, MakeWritableFutFn, WriteableFut> UdpSenderHelper<Socket, MakeWritableFutFn, WriteableFut>

Source

pub fn new(inner: Socket, make_fut: MakeWritableFutFn) -> Self

Create helper that implements UdpSender from a socket.

Additionally you need to provide what is essentially an async function that resolves once the socket is write-ready.

See also the bounds on this struct’s UdpSender implementation.

Trait Implementations§

Source§

impl<Socket, MakeWritableFutFn, WritableFut> Debug for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<Socket, MakeWritableFutFn, WritableFut> UdpSender for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: UdpSenderHelperSocket, MakeWritableFutFn: Fn(&Socket) -> WritableFut + Send + Sync + 'static, WritableFut: Future<Output = Result<()>> + Send + Sync + 'static,

Source§

fn poll_send( self: Pin<&mut Self>, transmit: &Transmit<'_>, cx: &mut Context<'_>, ) -> Poll<Result<()>>

Send a UDP datagram, or register to be woken if sending may succeed in the future. Read more
Source§

fn max_transmit_segments(&self) -> usize

Maximum number of datagrams that a Transmit may encode.
Source§

fn try_send(self: Pin<&mut Self>, transmit: &Transmit<'_>) -> Result<()>

Try to send a UDP datagram, if the socket happens to be write-ready. Read more
Source§

impl<'__pin, Socket, MakeWritableFutFn, WritableFut> Unpin for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where PinnedFieldsOf<__Origin<'__pin, Socket, MakeWritableFutFn, WritableFut>>: Unpin,

Auto Trait Implementations§

§

impl<Socket, MakeWritableFutFn, WritableFut> Freeze for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: Freeze, MakeWritableFutFn: Freeze, WritableFut: Freeze,

§

impl<Socket, MakeWritableFutFn, WritableFut> RefUnwindSafe for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: RefUnwindSafe, MakeWritableFutFn: RefUnwindSafe, WritableFut: RefUnwindSafe,

§

impl<Socket, MakeWritableFutFn, WritableFut> Send for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: Send, MakeWritableFutFn: Send, WritableFut: Send,

§

impl<Socket, MakeWritableFutFn, WritableFut> Sync for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: Sync, MakeWritableFutFn: Sync, WritableFut: Sync,

§

impl<Socket, MakeWritableFutFn, WritableFut> UnwindSafe for UdpSenderHelper<Socket, MakeWritableFutFn, WritableFut>
where Socket: UnwindSafe, MakeWritableFutFn: UnwindSafe, WritableFut: UnwindSafe,

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

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