pub struct UdpSocket { /* private fields */ }
Implementations§
source§impl UdpSocket
impl UdpSocket
pub fn new( status: FileStatus, send_buf_size: usize, recv_buf_size: usize, ) -> Arc<AtomicRefCell<Self>>
pub fn status(&self) -> FileStatus
pub fn set_status(&mut self, status: FileStatus)
pub fn mode(&self) -> FileMode
pub fn has_open_file(&self) -> bool
pub fn supports_sa_restart(&self) -> bool
pub fn set_has_open_file(&mut self, val: bool)
pub fn push_in_packet( &mut self, packet: PacketRc, cb_queue: &mut CallbackQueue, recv_time: EmulatedTime, )
pub fn pull_out_packet( &mut self, cb_queue: &mut CallbackQueue, ) -> Option<PacketRc>
pub fn peek_next_packet_priority(&self) -> Option<FifoPacketPriority>
pub fn has_data_to_send(&self) -> bool
pub fn getsockname(&self) -> Result<Option<SockaddrIn>, Errno>
pub fn getpeername(&self) -> Result<Option<SockaddrIn>, Errno>
pub fn address_family(&self) -> AddressFamily
pub fn close( &mut self, cb_queue: &mut CallbackQueue, ) -> Result<(), SyscallError>
pub fn bind( socket: &Arc<AtomicRefCell<Self>>, addr: Option<&SockaddrStorage>, net_ns: &NetworkNamespace, rng: impl Rng, ) -> Result<(), SyscallError>
pub fn readv( &mut self, _iovs: &[IoVec], _offset: Option<off_t>, _flags: c_int, _mem: &mut MemoryManager, _cb_queue: &mut CallbackQueue, ) -> Result<ssize_t, SyscallError>
pub fn writev( &mut self, _iovs: &[IoVec], _offset: Option<off_t>, _flags: c_int, _mem: &mut MemoryManager, _cb_queue: &mut CallbackQueue, ) -> Result<ssize_t, SyscallError>
pub fn sendmsg( socket: &Arc<AtomicRefCell<Self>>, args: SendmsgArgs<'_>, mem: &mut MemoryManager, net_ns: &NetworkNamespace, rng: impl Rng, cb_queue: &mut CallbackQueue, ) -> Result<ssize_t, SyscallError>
pub fn recvmsg( socket: &Arc<AtomicRefCell<Self>>, args: RecvmsgArgs<'_>, mem: &mut MemoryManager, cb_queue: &mut CallbackQueue, ) -> Result<RecvmsgReturn, SyscallError>
pub fn ioctl( &mut self, request: IoctlRequest, arg_ptr: ForeignPtr<()>, mem: &mut MemoryManager, ) -> SyscallResult
pub fn stat(&self) -> Result<stat, SyscallError>
pub fn listen( _socket: &Arc<AtomicRefCell<Self>>, _backlog: i32, _net_ns: &NetworkNamespace, _rng: impl Rng, _cb_queue: &mut CallbackQueue, ) -> Result<(), Errno>
pub fn connect( socket: &Arc<AtomicRefCell<Self>>, peer_addr: &SockaddrStorage, net_ns: &NetworkNamespace, rng: impl Rng, _cb_queue: &mut CallbackQueue, ) -> Result<(), SyscallError>
pub fn accept( &mut self, _net_ns: &NetworkNamespace, _rng: impl Rng, _cb_queue: &mut CallbackQueue, ) -> Result<OpenFile, SyscallError>
pub fn shutdown( &mut self, how: Shutdown, _cb_queue: &mut CallbackQueue, ) -> Result<(), SyscallError>
pub fn getsockopt( &mut self, level: c_int, optname: c_int, optval_ptr: ForeignPtr<()>, optlen: socklen_t, mem: &mut MemoryManager, _cb_queue: &mut CallbackQueue, ) -> Result<socklen_t, SyscallError>
pub fn setsockopt( &mut self, level: c_int, optname: c_int, optval_ptr: ForeignPtr<()>, optlen: socklen_t, mem: &MemoryManager, ) -> Result<(), SyscallError>
pub fn add_listener( &mut self, monitoring_state: FileState, monitoring_signals: FileSignals, filter: StateListenerFilter, notify_fn: impl Fn(FileState, FileState, FileSignals, &mut CallbackQueue) + Send + Sync + 'static, ) -> StateListenHandle
pub fn add_legacy_listener(&mut self, ptr: HostTreePointer<StatusListener>)
pub fn remove_legacy_listener(&mut self, ptr: *mut StatusListener)
pub fn state(&self) -> FileState
Auto Trait Implementations§
impl Freeze for UdpSocket
impl !RefUnwindSafe for UdpSocket
impl Send for UdpSocket
impl Sync for UdpSocket
impl Unpin for UdpSocket
impl !UnwindSafe for UdpSocket
Blanket Implementations§
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
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