pub struct Socket { /* private fields */ }

Implementations§

source§

impl Socket

source

pub fn new(addr_family: AddressFamily, sock_kind: SocketType) -> Result<Self>

source

pub fn device(&self) -> Result<Option<Vec<u8>>>

source

pub fn bind_device(&self, interface: Option<&[u8]>) -> Result<()>

source

pub fn set_send_timeout(&self, duration: Option<Duration>) -> Result<()>

source

pub fn get_send_timeout(&self) -> Result<Option<Duration>>

source

pub fn set_recv_timeout(&self, duration: Option<Duration>) -> Result<()>

source

pub fn get_recv_timeout(&self) -> Result<Option<Duration>>

source

pub fn send(&self, buf: &[u8]) -> Result<usize>

source

pub fn send_vectored(&self, bufs: &[IoSlice<'_>], flags: u16) -> Result<usize>

source

pub fn send_to(&self, buf: &[u8], addr: SocketAddr) -> Result<usize>

source

pub fn send_to_vectored( &self, bufs: &[IoSlice<'_>], addr: SocketAddr, flags: u16 ) -> Result<usize>

source

pub fn recv(&self, buf: &mut [u8]) -> Result<usize>

source

pub fn recv_with_flags( &self, buf: &mut [MaybeUninit<u8>], flags: u16 ) -> Result<(usize, usize)>

source

pub fn recv_vectored( &self, bufs: &mut [IovecRead], flags: u16 ) -> Result<(usize, usize)>

source

pub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, SocketAddr)>

source

pub fn recv_from_with_flags( &self, buf: &mut [MaybeUninit<u8>], flags: u16 ) -> Result<(usize, SocketAddr, usize)>

source

pub fn recv_from_vectored( &self, bufs: &mut [IovecRead], flags: u16 ) -> Result<(usize, SocketAddr, usize)>

source

pub fn nonblocking(&self) -> Result<bool>

source

pub fn set_nonblocking(&self, nonblocking: bool) -> Result<()>

source

pub fn connect(&self, addrs: &SocketAddr) -> Result<()>

source

pub fn bind(&self, addrs: &SocketAddr) -> Result<()>

source

pub fn listen(&self, backlog: i32) -> Result<()>

source

pub fn accept(&self, nonblocking: bool) -> Result<Self>

source

pub fn get_local(&self) -> Result<SocketAddr>

source

pub fn get_peer(&self) -> Result<SocketAddr>

source

pub fn take_error(&self) -> Result<()>

source

pub fn is_listener(&self) -> Result<bool>

source

pub fn type(&self) -> Result<SocketType>

source

pub fn broadcast(&self) -> Result<bool>

source

pub fn keepalive(&self) -> Result<bool>

source

pub fn recv_buffer_size(&self) -> Result<usize>

source

pub fn send_buffer_size(&self) -> Result<usize>

source

pub fn reuse_address(&self) -> Result<bool>

source

pub fn setsockopt<T>( &self, level: SocketOptLevel, name: SocketOptName, payload: T ) -> Result<()>

source

pub fn shutdown(&self, how: Shutdown) -> Result<()>

Trait Implementations§

source§

impl AsMut<Socket> for TcpListener

source§

fn as_mut(&mut self) -> &mut Socket

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl AsMut<Socket> for TcpStream

source§

fn as_mut(&mut self) -> &mut Socket

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl AsMut<Socket> for UdpSocket

source§

fn as_mut(&mut self) -> &mut Socket

Converts this type into a mutable reference of the (usually inferred) input type.
source§

impl AsRawFd for Socket

source§

fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more
source§

impl AsRef<Socket> for TcpListener

source§

fn as_ref(&self) -> &Socket

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Socket> for TcpStream

source§

fn as_ref(&self) -> &Socket

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Socket> for UdpSocket

source§

fn as_ref(&self) -> &Socket

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Socket

source§

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

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

impl Drop for Socket

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl From<Socket> for TcpStream

source§

fn from(s: Socket) -> Self

Converts to this type from the input type.
source§

impl FromRawFd for Socket

source§

unsafe fn from_raw_fd(fd: RawFd) -> Self

Constructs a new instance of Self from the given raw file descriptor. Read more
source§

impl IntoRawFd for Socket

source§

fn into_raw_fd(self) -> RawFd

Consumes this object, returning the raw underlying file descriptor. 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, 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.
§

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

§

fn vzip(self) -> V