[][src]Struct tokio::codec::length_delimited::Builder

pub struct Builder { /* fields omitted */ }

Configure length delimited LengthDelimitedCodecs.

Builder enables constructing configured length delimited codecs. Note that not all configuration settings apply to both encoding and decoding. See the documentation for specific methods for more detail.

Methods

impl Builder
[src]

Creates a new length delimited codec builder with default configuration values.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .length_field_offset(0)
    .length_field_length(2)
    .length_adjustment(0)
    .num_skip(0)
    .new_read(io);

Important traits for &'a mut W

Read the length field as a big endian integer

This is the default setting.

This configuration option applies to both encoding and decoding.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .big_endian()
    .new_read(io);

Important traits for &'a mut W

Read the length field as a little endian integer

The default setting is big endian.

This configuration option applies to both encoding and decoding.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .little_endian()
    .new_read(io);

Important traits for &'a mut W

Read the length field as a native endian integer

The default setting is big endian.

This configuration option applies to both encoding and decoding.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .native_endian()
    .new_read(io);

Important traits for &'a mut W

Sets the max frame length

This configuration option applies to both encoding and decoding. The default value is 8MB.

When decoding, the length field read from the byte stream is checked against this setting before any adjustments are applied. When encoding, the length of the submitted payload is checked against this setting.

When frames exceed the max length, an io::Error with the custom value of the FrameTooBig type will be returned.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .max_frame_length(8 * 1024)
    .new_read(io);

Important traits for &'a mut W

Sets the number of bytes used to represent the length field

The default value is 4. The max value is 8.

This configuration option applies to both encoding and decoding.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .length_field_length(4)
    .new_read(io);

Important traits for &'a mut W

Sets the number of bytes in the header before the length field

This configuration option only applies to decoding.

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .length_field_offset(1)
    .new_read(io);

Important traits for &'a mut W

Delta between the payload length specified in the header and the real payload length

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .length_adjustment(-2)
    .new_read(io);

Important traits for &'a mut W

Sets the number of bytes to skip before reading the payload

Default value is length_field_len + length_field_offset

This configuration option only applies to decoding

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .num_skip(4)
    .new_read(io);

Create a configured length delimited LengthDelimitedCodec

Examples

use tokio::codec::length_delimited::Builder;
Builder::new()
    .length_field_offset(0)
    .length_field_length(2)
    .length_adjustment(0)
    .num_skip(0)
    .new_codec();

Create a configured length delimited FramedRead

Examples

use tokio::codec::length_delimited::Builder;

Builder::new()
    .length_field_offset(0)
    .length_field_length(2)
    .length_adjustment(0)
    .num_skip(0)
    .new_read(io);

Create a configured length delimited FramedWrite

Examples

length_delimited::Builder::new()
    .length_field_length(2)
    .new_write(io);

Create a configured length delimited Framed

Examples

length_delimited::Builder::new()
    .length_field_length(2)
    .new_framed(io);

Trait Implementations

impl Clone for Builder
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Builder
[src]

impl Debug for Builder
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Builder

impl Sync for Builder

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

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

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Important traits for &'a mut W

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Important traits for &'a mut W

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Erased for T
[src]