Skip to content
Snippets Groups Projects
  • Carl Lerche's avatar
    06b94c55
    Remove buf::Source in favor of buf::IntoBuf · 06b94c55
    Carl Lerche authored
    The `Source` trait was essentially covering the same case as `IntoBuf`,
    so remove it.
    
    While technically a breaking change, this should not have any impact due
    to:
    
    1) There are no reverse dependencies that currently depend on `bytes`
    2) Source was not supposed to be implemented externally
    3) IntoBuf provides the same implementations as `Source`
    
    Given these points, the change should be safe to apply.
    06b94c55
    History
    Remove buf::Source in favor of buf::IntoBuf
    Carl Lerche authored
    The `Source` trait was essentially covering the same case as `IntoBuf`,
    so remove it.
    
    While technically a breaking change, this should not have any impact due
    to:
    
    1) There are no reverse dependencies that currently depend on `bytes`
    2) Source was not supposed to be implemented externally
    3) IntoBuf provides the same implementations as `Source`
    
    Given these points, the change should be safe to apply.
mod.rs 1.08 KiB
//! 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.
//!
//! [rope]: https://en.wikipedia.org/wiki/Rope_(data_structure)
//! [`Buf`]: trait.Buf.html
//! [`BufMut`]: trait.BufMut.html

mod buf;
mod buf_mut;
mod from_buf;
mod chain;
mod into_buf;
mod iter;
mod reader;
mod take;
mod writer;

pub use self::buf::Buf;
pub use self::buf_mut::BufMut;
pub use self::from_buf::FromBuf;
pub use self::chain::Chain;
pub use self::into_buf::IntoBuf;
pub use self::iter::Iter;
pub use self::reader::Reader;
pub use self::take::Take;
pub use self::writer::Writer;