Struct UdpSocketFactory
pub struct UdpSocketFactory { /* private fields */ }Available on crate features
std and udp only.Expand description
Rama service/factory for configured UdpPacketSocket instances.
Implementations§
§impl UdpSocketFactory
impl UdpSocketFactory
pub const fn new(config: UdpSocketConfig) -> UdpSocketFactory
pub const fn new(config: UdpSocketConfig) -> UdpSocketFactory
Construct a factory from config.
pub const fn config(&self) -> &UdpSocketConfig
pub const fn config(&self) -> &UdpSocketConfig
Inspect this factory’s configuration.
pub async fn bind<A>(
&self,
address: A,
) -> Result<UdpPacketSocket, DatagramError>where
A: TryInto<SocketAddress>,
<A as TryInto<SocketAddress>>::Error: Into<Box<dyn Error + Send + Sync>>,
pub async fn bind<A>(
&self,
address: A,
) -> Result<UdpPacketSocket, DatagramError>where
A: TryInto<SocketAddress>,
<A as TryInto<SocketAddress>>::Error: Into<Box<dyn Error + Send + Sync>>,
Bind a configured packet socket.
Trait Implementations§
§impl Clone for UdpSocketFactory
impl Clone for UdpSocketFactory
§fn clone(&self) -> UdpSocketFactory
fn clone(&self) -> UdpSocketFactory
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for UdpSocketFactory
impl Debug for UdpSocketFactory
§impl Default for UdpSocketFactory
impl Default for UdpSocketFactory
§fn default() -> UdpSocketFactory
fn default() -> UdpSocketFactory
Returns the “default value” for a type. Read more
§impl Service<SocketAddress> for UdpSocketFactory
impl Service<SocketAddress> for UdpSocketFactory
§type Output = UdpPacketSocket
type Output = UdpPacketSocket
The type of the output returned by the service.
§type Error = DatagramError
type Error = DatagramError
The type of error returned by the service.
§async fn serve(
&self,
address: SocketAddress,
) -> Result<<UdpSocketFactory as Service<SocketAddress>>::Output, <UdpSocketFactory as Service<SocketAddress>>::Error>
async fn serve( &self, address: SocketAddress, ) -> Result<<UdpSocketFactory as Service<SocketAddress>>::Output, <UdpSocketFactory as Service<SocketAddress>>::Error>
Serve an output or an error for the given input
§fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
fn boxed(self) -> BoxService<Input, Self::Output, Self::Error>
Box this service to allow for dynamic dispatch.
Auto Trait Implementations§
impl Freeze for UdpSocketFactory
impl RefUnwindSafe for UdpSocketFactory
impl Send for UdpSocketFactory
impl Sync for UdpSocketFactory
impl Unpin for UdpSocketFactory
impl UnsafeUnpin for UdpSocketFactory
impl UnwindSafe for UdpSocketFactory
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
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 Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
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 Twhere
T: ?Sized,
§impl<S, Socket> SocketService for S
impl<S, Socket> SocketService for S
§type Socket = Socket
type Socket = Socket
Socket returned by the
SocketService§type Error = <S as Service<SocketAddress>>::Error
type Error = <S as Service<SocketAddress>>::Error
Error returned in case of connection / setup failure
§fn bind_socket_with_address(
&self,
addr: impl Into<SocketAddress>,
) -> impl Future<Output = Result<<S as SocketService>::Socket, <S as SocketService>::Error>> + Send
fn bind_socket_with_address( &self, addr: impl Into<SocketAddress>, ) -> impl Future<Output = Result<<S as SocketService>::Socket, <S as SocketService>::Error>> + Send
Create a binding to a Unix/Linux/Windows socket.