mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-21 00:00:12 +02:00
Restructure and trim down the library
This commit is a significant overhaul of the library in an effort to head towards a stable API. The rope implementation as well as a number of buffer implementations have been removed from the library and will live at https://github.com/carllerche/bytes-more while they incubate. **Bytes / BytesMut** `Bytes` is now an atomic ref counted byte slice. As it is contigous, it offers a richer API than before. `BytesMut` is a mutable variant. It is safe by ensuring that it is the only handle to a given byte slice. **AppendBuf -> ByteBuf** `AppendBuf` has been replaced by `ByteBuf`. The API is not identical, but is close enough to be considered a suitable replacement. **Removed types** The following types have been removed in favor of living in bytes-more * RingBuf * BlockBuf * `Bytes` as a rope implementation * ReadExt * WriteExt
This commit is contained in:
+18
-32
@@ -1,36 +1,22 @@
|
||||
#![crate_name = "bytes"]
|
||||
#![deny(warnings)]
|
||||
//! Provides abstractions for working with bytes.
|
||||
|
||||
#![deny(warnings, missing_docs)]
|
||||
|
||||
#[macro_use]
|
||||
extern crate log;
|
||||
extern crate byteorder;
|
||||
|
||||
// Implementation in here
|
||||
mod imp;
|
||||
// TODO: delete
|
||||
mod alloc;
|
||||
mod buf;
|
||||
mod bytes;
|
||||
|
||||
pub use imp::buf::{Buf, MutBuf, IntoBuf};
|
||||
pub use imp::bytes::Bytes;
|
||||
|
||||
pub mod buf {
|
||||
//! Traits, helpers, and type definitions for working with buffers.
|
||||
|
||||
pub use imp::buf::{
|
||||
Source,
|
||||
Sink,
|
||||
Reader,
|
||||
ReadExt,
|
||||
Writer,
|
||||
WriteExt,
|
||||
Fmt,
|
||||
};
|
||||
|
||||
pub use imp::buf::slice::SliceBuf;
|
||||
pub use imp::buf::append::AppendBuf;
|
||||
pub use imp::buf::block::{BlockBuf, BlockBufCursor};
|
||||
pub use imp::buf::bound::{BoundBuf};
|
||||
pub use imp::buf::ring::RingBuf;
|
||||
pub use imp::buf::take::Take;
|
||||
pub use imp::bytes::BytesBuf;
|
||||
}
|
||||
pub use buf::{
|
||||
Buf,
|
||||
BufMut,
|
||||
IntoBuf,
|
||||
Source,
|
||||
Sink,
|
||||
Reader,
|
||||
Writer,
|
||||
};
|
||||
pub use buf::byte::{ByteBuf};
|
||||
pub use buf::slice::{SliceBuf};
|
||||
pub use buf::take::{Take, TakeMut};
|
||||
pub use bytes::{Bytes, BytesMut};
|
||||
|
||||
Reference in New Issue
Block a user