Skip to main content

SendDatagram

Struct SendDatagram 

#[non_exhaustive]
pub struct SendDatagram<'a> { /* private fields */ }
Available on crate features std and udp only.
Expand description

Borrowed description of one outgoing datagram or segmented datagram group.

This type contains UDP packet metadata only. It has no connection, packet number, retransmission, or upper-protocol semantics.

Implementations§

§

impl<'a> SendDatagram<'a>

pub fn new( destination: impl Into<SocketAddress>, payload: &'a [u8], ) -> SendDatagram<'a>

Construct an ordinary unsegmented datagram.

pub const fn destination(&self) -> SocketAddress

Destination address.

pub const fn payload(&self) -> &'a [u8]

Datagram bytes, or concatenated segmented bytes.

pub const fn ecn(&self) -> Option<EcnCodepoint>

Selected ECN codepoint.

pub const fn source_ip(&self) -> Option<IpAddr>

Selected source IP.

pub const fn segment_size(&self) -> Option<NonZero<usize>>

Configured segment size.

pub fn maybe_with_ecn(self, ecn: Option<EcnCodepoint>) -> SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn maybe_set_ecn( &mut self, ecn: Option<EcnCodepoint>, ) -> &mut SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn with_ecn(self, ecn: EcnCodepoint) -> SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn set_ecn(&mut self, ecn: EcnCodepoint) -> &mut SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn without_ecn(self) -> SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn unset_ecn(&mut self) -> &mut SendDatagram<'a>

Set the ECN codepoint, or clear it to retain the socket default.

pub fn maybe_with_source_ip(self, source_ip: Option<IpAddr>) -> SendDatagram<'a>

Select the outgoing source IP.

pub fn maybe_set_source_ip( &mut self, source_ip: Option<IpAddr>, ) -> &mut SendDatagram<'a>

Select the outgoing source IP.

pub fn with_source_ip(self, source_ip: IpAddr) -> SendDatagram<'a>

Select the outgoing source IP.

pub fn set_source_ip(&mut self, source_ip: IpAddr) -> &mut SendDatagram<'a>

Select the outgoing source IP.

pub fn without_source_ip(self) -> SendDatagram<'a>

Select the outgoing source IP.

pub fn unset_source_ip(&mut self) -> &mut SendDatagram<'a>

Select the outgoing source IP.

pub fn maybe_with_segment_size( self, segment_size: Option<NonZero<usize>>, ) -> SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn maybe_set_segment_size( &mut self, segment_size: Option<NonZero<usize>>, ) -> &mut SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn with_segment_size(self, segment_size: NonZero<usize>) -> SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn set_segment_size( &mut self, segment_size: NonZero<usize>, ) -> &mut SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn without_segment_size(self) -> SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn unset_segment_size(&mut self) -> &mut SendDatagram<'a>

Describe concatenated datagrams for a segmented send.

The size must be smaller than the payload length. Callers adapting descriptors from another API must omit a one-segment value equal to the payload length.

pub fn segment_count(self) -> usize

Number of UDP datagrams represented by this descriptor.

Trait Implementations§

§

impl<'a> Clone for SendDatagram<'a>

§

fn clone(&self) -> SendDatagram<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<'a> Copy for SendDatagram<'a>

§

impl<'a> Debug for SendDatagram<'a>

§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for SendDatagram<'a>

§

impl<'a> RefUnwindSafe for SendDatagram<'a>

§

impl<'a> Send for SendDatagram<'a>

§

impl<'a> Sync for SendDatagram<'a>

§

impl<'a> Unpin for SendDatagram<'a>

§

impl<'a> UnsafeUnpin for SendDatagram<'a>

§

impl<'a> UnwindSafe for SendDatagram<'a>

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
§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

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

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

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

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a rama_grpc::Request
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
§

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

§

fn rama_from(value: T) -> U

§

impl<T, U, CrateMarker> RamaInto<U, CrateMarker> for T
where U: RamaFrom<T, CrateMarker>,

§

fn rama_into(self) -> U

§

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

§

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

§

fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>

§

impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for T
where U: RamaTryFrom<T, CrateMarker>,

§

type Error = <U as RamaTryFrom<T, CrateMarker>>::Error

§

fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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

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

§

fn vzip(self) -> V

§

impl<V, F> ValueFormatter<&V> for F
where F: ValueFormatter<V> + ?Sized, V: ?Sized,

§

const SHAPE: FieldShape<'static>

Available on non-metrique_require_explicit_impls only.
The shape of values produced by this formatter. Read more
§

fn format_value(writer: impl ValueWriter, value: &&V)

Write value to writer
§

impl<V, F> ValueFormatter<Arc<V>> for F
where F: ValueFormatter<V> + ?Sized, V: ?Sized,

§

const SHAPE: FieldShape<'static>

Available on non-metrique_require_explicit_impls only.
The shape of values produced by this formatter. Read more
§

fn format_value(writer: impl ValueWriter, value: &Arc<V>)

Write value to writer
§

impl<V, F> ValueFormatter<Box<V>> for F
where F: ValueFormatter<V> + ?Sized, V: ?Sized,

§

const SHAPE: FieldShape<'static>

Available on non-metrique_require_explicit_impls only.
The shape of values produced by this formatter. Read more
§

fn format_value(writer: impl ValueWriter, value: &Box<V>)

Write value to writer
§

impl<V, F> ValueFormatter<Cow<'_, V>> for F
where V: ToOwned + ?Sized, F: ValueFormatter<V> + ?Sized,

§

const SHAPE: FieldShape<'static>

Available on non-metrique_require_explicit_impls only.
The shape of values produced by this formatter. Read more
§

fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)

Write value to writer
§

impl<V, F> ValueFormatter<Option<V>> for F
where F: ValueFormatter<V> + ?Sized,

§

const SHAPE: FieldShape<'static>

Available on non-metrique_require_explicit_impls only.
The shape of values produced by this formatter. Read more
§

fn format_value(writer: impl ValueWriter, value: &Option<V>)

Write value to writer
§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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