pub struct Builder { /* private fields */ }
Expand description

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.

Implementations

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

Examples
use tokio_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .length_field_offset(0)
    .length_field_length(2)
    .length_adjustment(0)
    .num_skip(0)
    .new_read(io);

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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .big_endian()
    .new_read(io);

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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .little_endian()
    .new_read(io);

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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .native_endian()
    .new_read(io);

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 LengthDelimitedCodecError type will be returned.

Examples
use tokio_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .max_frame_length(8 * 1024)
    .new_read(io);

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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .length_field_length(4)
    .new_read(io);

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

This configuration option only applies to decoding.

Examples
use tokio_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .length_field_offset(1)
    .new_read(io);

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

Examples
use tokio_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .length_adjustment(-2)
    .new_read(io);

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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .num_skip(4)
    .new_read(io);

Create a configured length delimited LengthDelimitedCodec

Examples
use tokio_util::codec::LengthDelimitedCodec;
LengthDelimitedCodec::builder()
    .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_util::codec::LengthDelimitedCodec;

LengthDelimitedCodec::builder()
    .length_field_offset(0)
    .length_field_length(2)
    .length_adjustment(0)
    .num_skip(0)
    .new_read(io);

Create a configured length delimited FramedWrite

Examples
LengthDelimitedCodec::builder()
    .length_field_length(2)
    .new_write(io);

Create a configured length delimited Framed

Examples
LengthDelimitedCodec::builder()
    .length_field_length(2)
    .new_framed(io);

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

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

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.