pub struct UdpStream { /* private fields */ }Expand description
A helper which wraps a UDP socket into a Read/Write stream
Implementations§
Source§impl UdpStream
impl UdpStream
Sourcepub fn create(bind: impl ToSocketAddrs) -> Result<Self>
pub fn create(bind: impl ToSocketAddrs) -> Result<Self>
Create a new UDP stream
Sourcepub fn with_read_timeout(self, timeout: Duration) -> Result<Self>
pub fn with_read_timeout(self, timeout: Duration) -> Result<Self>
Set read timeout
Sourcepub fn with_write_timeout(self, timeout: Duration) -> Result<Self>
pub fn with_write_timeout(self, timeout: Duration) -> Result<Self>
Set write timeout
Sourcepub fn with_timeouts(
self,
read_timeout: Duration,
write_timeout: Duration,
) -> Result<Self>
pub fn with_timeouts( self, read_timeout: Duration, write_timeout: Duration, ) -> Result<Self>
Set both timeouts
Sourcepub fn set_read_timeout(&mut self, timeout: Option<Duration>) -> Result<()>
pub fn set_read_timeout(&mut self, timeout: Option<Duration>) -> Result<()>
Set read timeout after construction
Sourcepub fn set_write_timeout(&mut self, timeout: Option<Duration>) -> Result<()>
pub fn set_write_timeout(&mut self, timeout: Option<Duration>) -> Result<()>
Set write timeout after construction
Sourcepub fn read_timeout(&self) -> Option<Duration>
pub fn read_timeout(&self) -> Option<Duration>
Get current read timeout
Sourcepub fn write_timeout(&self) -> Option<Duration>
pub fn write_timeout(&self) -> Option<Duration>
Get current write timeout
Sourcepub fn try_with_mtu(self, max_packet_size: usize) -> Result<Self>
pub fn try_with_mtu(self, max_packet_size: usize) -> Result<Self>
Set the maximum packet size
Sourcepub fn set_peer(&mut self, peer: impl ToSocketAddrs) -> Result<()>
pub fn set_peer(&mut self, peer: impl ToSocketAddrs) -> Result<()>
Set the peer address
Trait Implementations§
Source§impl Read for UdpStream
impl Read for UdpStream
Source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · Source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read, except that it reads into a slice of buffers. Read moreSource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf. Read more1.0.0 · Source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf. Read more1.6.0 · Source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf. Read moreSource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
Source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Reads the exact number of bytes required to fill
cursor. Read more1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Read. Read moreSource§impl Write for UdpStream
impl Write for UdpStream
Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · Source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for UdpStream
impl RefUnwindSafe for UdpStream
impl Send for UdpStream
impl Sync for UdpStream
impl Unpin for UdpStream
impl UnwindSafe for UdpStream
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