Module bytes::buf

source ·
Expand description

Utilities for working with buffers.

A buffer is any structure that contains a sequence of bytes. The bytes may or may not be stored in contiguous memory. This module contains traits used to abstract over buffers as well as utilities for working with buffer types.

§Buf, BufMut

These are the two foundational traits for abstractly working with buffers. They can be thought as iterators for byte structures. They offer additional performance over Iterator by providing an API optimized for byte slices.

See Buf and BufMut for more details.


  • A Chain sequences two buffers.
  • Iterator over the bytes contained by the buffer.
  • A BufMut adapter which limits the amount of bytes that can be written to an underlying buffer.
  • A Buf adapter which implements io::Read for the inner value.
  • A Buf adapter which limits the bytes read from an underlying buffer.
  • Uninitialized byte slice.
  • A BufMut adapter which implements io::Write for the inner value.


  • Read bytes from a buffer.
  • A trait for values that provide sequential write access to bytes.