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]

Important traits for UtunStream

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.

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.

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]

Formats the value using the given formatter. Read more

impl Read for UtunStream
[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, appending them to buf. Read more

Read the exact number of bytes required to fill buf. Read more

Creates a "by reference" adaptor for this instance of Read. Read more

Transforms this Read instance to an [Iterator] over its bytes. Read more

Deprecated since 1.27.0

: 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

Creates an adaptor which will chain this stream with another. Read more

Creates an adaptor which will read at most limit bytes from it. Read more

impl Write for UtunStream
[src]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Creates a "by reference" adaptor for this instance of Write. Read more

impl AsyncRead for UtunStream
[src]

Prepares an uninitialized buffer to be safe to pass to read. Returns true if the supplied buffer was zeroed out. Read more

Pull some bytes from this source into the specified Buf, returning how many bytes were read. Read more

Attempt to read from the AsyncRead into buf. Read more

Deprecated since 0.1.7

: 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

Helper method for splitting this read/write object into two halves. Read more

impl AsyncWrite for UtunStream
[src]

Initiates or attempts to shut down this writer, returning success when the I/O connection has completely shut down. Read more

Write a Buf into this value, returning how many bytes were written. Read more

Attempt to write bytes from buf into the object. Read more

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more

Auto Trait Implementations

impl Send for UtunStream

impl Sync for UtunStream