Skip to main content

OpenSocket

Struct OpenSocket 

Source
pub struct OpenSocket<A: PtpAddressFamily> { /* private fields */ }
Expand description

A socket not connected to a specific remote.

Can receive and send packets to any valid address of type A.

Implementations§

Source§

impl<A: PtpAddressFamily> OpenSocket<A>

Source

pub async fn recv(&mut self) -> Result<RecvResult<A>>

Receive an incoming message.

§Errors

Returns any IO error that occured trying to receive a packet.

Source§

impl<A: PtpAddressFamily> OpenSocket<A>

Source

pub async fn send_event( &self, buf: &[u8], from: Option<A>, to: A, ) -> Result<Option<UniversalTimestamp>>

Send an event message.

Send the event message to the specified remote. If provided, from sets the sender address for this message, otherwise this is inferred.

Returns the actual time the message was sent if the operating system was able to provide this.

§Errors

Returns any IO errors that occured trying to send the message.

Source

pub async fn send_general( &self, buf: &[u8], from: Option<A>, to: A, ) -> Result<()>

Send a general message.

Send the event message to the specified remote. If provided, from sets the sender address for this message, otherwise this is inferred.

§Errors

Returns any IO errors that occured trying to send the message.

Trait Implementations§

Source§

impl<A: PtpAddressFamily> Drop for OpenSocket<A>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

§

impl<A> Forget for OpenSocket<A>

§

impl<A> Freeze for OpenSocket<A>
where Arc<NetworkManagerData<A>>: Freeze, Receiver<RecvResult<A>>: Freeze,

§

impl<A> Move for OpenSocket<A>

§

impl<A> RefUnwindSafe for OpenSocket<A>
where Arc<NetworkManagerData<A>>: RefUnwindSafe, Receiver<RecvResult<A>>: RefUnwindSafe,

§

impl<A> Send for OpenSocket<A>
where Arc<NetworkManagerData<A>>: Send, Receiver<RecvResult<A>>: Send,

§

impl<A> Sync for OpenSocket<A>
where Arc<NetworkManagerData<A>>: Sync, Receiver<RecvResult<A>>: Sync,

§

impl<A> Unpin for OpenSocket<A>
where Arc<NetworkManagerData<A>>: Unpin, Receiver<RecvResult<A>>: Unpin,

§

impl<A> UnsafeUnpin for OpenSocket<A>
where Arc<NetworkManagerData<A>>: UnsafeUnpin, Receiver<RecvResult<A>>: UnsafeUnpin,

§

impl<A> UnwindSafe for OpenSocket<A>
where Arc<NetworkManagerData<A>>: UnwindSafe, Receiver<RecvResult<A>>: 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 = !

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