Struct tokio_utun::UtunStream [−][src]
pub struct UtunStream { /* fields omitted */ }
The primary class for this crate, a stream of tunneled traffic.
Methods
impl UtunStream
[src]
impl UtunStream
pub fn connect(name: &str) -> Result<UtunStream>
[src]
pub fn connect(name: &str) -> Result<UtunStream>
pub fn connect_with_handle(name: &str, handle: &Handle) -> Result<UtunStream>
[src]
pub fn connect_with_handle(name: &str, handle: &Handle) -> Result<UtunStream>
ⓘImportant traits for UtunStreampub fn from_fd(fd: RawFd) -> UtunStream
[src]
pub fn from_fd(fd: RawFd) -> UtunStream
pub fn from_fd_with_handle(fd: RawFd, handle: &Handle) -> Result<UtunStream>
[src]
pub fn from_fd_with_handle(fd: RawFd, handle: &Handle) -> Result<UtunStream>
pub fn name(&self) -> Result<String>
[src]
pub fn name(&self) -> Result<String>
pub fn framed<C: Decoder + Encoder>(self, codec: C) -> Framed<UtunStream, C>
[src]
pub fn framed<C: Decoder + Encoder>(self, codec: C) -> Framed<UtunStream, C>
Provides a Stream
and Sink
interface for reading and writing to this
UdpSocket
object, using the provided UdpCodec
to read and write the
raw data.
Raw UDP sockets work with datagrams, but higher-level code usually
wants to batch these into meaningful chunks, called "frames". This
method layers framing on top of this socket by using the UdpCodec
trait to handle encoding and decoding of messages frames. Note that
the incoming and outgoing frame types may be distinct.
This function returns a single object that is both Stream
and
Sink
; grouping this into a single object is often useful for layering
things which require both read and write access to the underlying
object.
If you want to work more directly with the streams and sink, consider
calling split
on the UdpFramed
returned by this method, which will
break them into separate objects, allowing them to interact more
easily.
pub fn poll_read_ready(&self, ready: Ready) -> Poll<Ready, Error>
[src]
pub fn poll_read_ready(&self, ready: Ready) -> Poll<Ready, Error>
Test whether this socket is ready to be read or not.
If the socket is not readable then the current task is scheduled to
get a notification when the socket does become readable. That is, this
is only suitable for calling in a Future::poll
method and will
automatically handle ensuring a retry once the socket is readable again.
pub fn poll_write_ready(&self) -> Poll<Ready, Error>
[src]
pub fn poll_write_ready(&self) -> Poll<Ready, Error>
Test whether this socket is ready to be written to or not.
If the socket is not writable then the current task is scheduled to
get a notification when the socket does become writable. That is, this
is only suitable for calling in a Future::poll
method and will
automatically handle ensuring a retry once the socket is writable again.
Trait Implementations
impl Debug for UtunStream
[src]
impl Debug for UtunStream
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Read for UtunStream
[src]
impl Read for UtunStream
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
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
unsafe fn initializer(&self) -> Initializer
[src]
unsafe fn initializer(&self) -> Initializer
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn bytes(self) -> Bytes<Self>
Transforms this Read
instance to an [Iterator
] over its bytes. Read more
fn chars(self) -> Chars<Self>
[src]
fn chars(self) -> Chars<Self>
: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an [Iterator
] over [char
]s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
fn take(self, limit: u64) -> Take<Self>
Creates an adaptor which will read at most limit
bytes from it. Read more
impl Write for UtunStream
[src]
impl Write for UtunStream
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Write
. Read more
impl AsyncRead for UtunStream
[src]
impl AsyncRead for UtunStream
unsafe fn prepare_uninitialized_buffer(&self, _: &mut [u8]) -> bool
[src]
unsafe fn prepare_uninitialized_buffer(&self, _: &mut [u8]) -> bool
Prepares an uninitialized buffer to be safe to pass to read
. Returns true
if the supplied buffer was zeroed out. Read more
fn read_buf<B: BufMut>(&mut self, buf: &mut B) -> Poll<usize, Error>
[src]
fn read_buf<B: BufMut>(&mut self, buf: &mut B) -> Poll<usize, Error>
Pull some bytes from this source into the specified Buf
, returning how many bytes were read. Read more
fn poll_read(&mut self, buf: &mut [u8]) -> Result<Async<usize>, Error>
[src]
fn poll_read(&mut self, buf: &mut [u8]) -> Result<Async<usize>, Error>
Attempt to read from the AsyncRead
into buf
. Read more
fn framed<T>(self, codec: T) -> Framed<Self, T> where
Self: AsyncWrite,
T: Decoder + Encoder,
[src]
fn framed<T>(self, codec: T) -> Framed<Self, T> where
Self: AsyncWrite,
T: Decoder + Encoder,
: Use tokio_codec::Decoder::framed instead
Provides a Stream
and Sink
interface for reading and writing to this Io
object, using Decode
and Encode
to read and write the raw data. Read more
fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
Self: AsyncWrite,
[src]
fn split(self) -> (ReadHalf<Self>, WriteHalf<Self>) where
Self: AsyncWrite,
Helper method for splitting this read/write object into two halves. Read more
impl AsyncWrite for UtunStream
[src]
impl AsyncWrite for UtunStream
fn shutdown(&mut self) -> Poll<(), Error>
[src]
fn shutdown(&mut self) -> Poll<(), Error>
Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more
fn write_buf<B: Buf>(&mut self, buf: &mut B) -> Poll<usize, Error>
[src]
fn write_buf<B: Buf>(&mut self, buf: &mut B) -> Poll<usize, Error>
Write a Buf
into this value, returning how many bytes were written. Read more
fn poll_write(&mut self, buf: &[u8]) -> Result<Async<usize>, Error>
[src]
fn poll_write(&mut self, buf: &[u8]) -> Result<Async<usize>, Error>
Attempt to write bytes from buf
into the object. Read more
fn poll_flush(&mut self) -> Result<Async<()>, Error>
[src]
fn poll_flush(&mut self) -> Result<Async<()>, Error>
Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Auto Trait Implementations
impl Send for UtunStream
impl Send for UtunStream
impl Sync for UtunStream
impl Sync for UtunStream