Commit Graph
140 Commits
Author SHA1 Message Date
Carl Lerche aa06b6dd6a More docs 2017-02-17 11:37:19 -08:00
Carl Lerche 5048eec143 Docs & polish for Buf 2017-02-16 22:15:17 -08:00
Carl Lerche 268226051d Implement Hash and Borrow for Bytes / BytesMut 2017-02-16 16:52:56 -08:00
Carl Lerche 646624c130 Polish API surface 2017-02-16 16:44:38 -08:00
Carl Lerche bababa8797 Remove Take/TakeMut 2017-02-16 10:36:00 -08:00
Carl Lerche 0e0066e8a0 Write docs and remove unecessary fns and types 2017-02-16 10:26:48 -08:00
Carl Lerche 53d1c788e0 Start writing docs for bytes 2017-02-15 14:43:11 -08:00
Carl Lerche 4c6ebeba87 Provide two versions of drain_to and split_off
* `drain_to` and `split_off` take &self and return Bytes.
* `drain_to_mut` and `split_off_mut` take &mut self and return BytesMut
2017-02-15 12:46:27 -08:00
Carl Lerche 8da9e81469 Tweak CI settings 2017-02-15 09:45:30 -08:00
Carl Lerche 36c9a8c287 Support static refs and inline short byte slices 2017-02-15 09:38:55 -08:00
Carl Lerche 44d40d34d7 Cleanup Bytes 2017-02-10 12:04:32 -08:00
Aaron J. ToddandCarl Lerche 70fed562eb Update byteorder to 1.0 2017-02-06 11:58:44 -08:00
Carl Lerche accc8a460d Add explicit inlines 2017-02-03 11:22:16 -08:00
Carl Lerche 8b01298806 Support older Rust versions 2017-01-26 14:54:25 -08:00
Carl Lerche a8320da0f8 Lazily allocate the Arc 2017-01-26 12:56:38 -08:00
Carl Lerche 93c08064bb Fix BytesMut refcounting 2016-11-22 10:31:17 -08:00
Rick Richardson 2b796d40e9 added clone to ByteBuf and BytesMut along with simple clone test 2016-11-21 15:43:59 -08:00
Carl Lerche 12d0804f17 Fix building docs 2016-11-18 10:14:03 -08:00
Carl Lerche 4886b44516 Add more conversion impls 2016-11-02 22:27:00 -07:00
Carl Lerche a367a723d8 Impl IntoBuf for Bytes and BytesMut 2016-11-02 14:33:42 -07:00
Carl Lerche 11fe277c0d Remove default for SliceBuf<T> 2016-11-02 14:31:44 -07:00
Carl Lerche 57e84f267b 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
2016-11-02 14:23:45 -07:00
Carl Lerche d717fde5ca Fix remaining 2016-10-25 20:09:54 -07:00
Carl Lerche b42d94c33b Add BoundBuf 2016-10-14 20:42:32 -07:00
Carl Lerche 8d2508bfeb Tweak Bytes helpers 2016-10-14 20:42:16 -07:00
Carl Lerche ec7d7f27fe Add Bytes::from_vec 2016-10-14 20:07:57 -07:00
Carl Lerche d7306d949b Rename slice_buf.rs -> slice.rs 2016-10-14 20:07:42 -07:00
Carl Lerche a4bfc63de7 Tweak Sink / Source 2016-10-07 15:37:12 -07:00
Carl Lerche 6f97d04077 Add IntoBuf impls for non-ref types 2016-10-07 14:44:29 -07:00
Carl Lerche e00c08c6c7 Impl IntoBuf for &'static [u8] 2016-10-07 12:55:18 -07:00
Carl Lerche e1c7f183ca Impl IntoBuf for () 2016-09-30 09:58:41 -07:00
Carl Lerche 4ca7e0fabf Add IntoBuf trait 2016-09-25 22:40:39 -07:00
Carl Lerche b10992a5e8 Refactor RingBuf 2016-09-25 22:40:39 -07:00
Carl Lerche b1dc10e907 Rename & refactor ByteBuf -> SliceBuf 2016-09-25 22:40:35 -07:00
Carl Lerche c16ad2bc9d Add some docs 2016-09-23 14:53:14 -07:00
Carl Lerche a7d38e29e5 Remove extra lifetime sigils 2016-09-23 14:51:48 -07:00
Carl Lerche 98e0d954b5 Reorganize crate 2016-09-23 12:05:32 -07:00
Carl Lerche d05bfb6346 Add more Buf helpers 2016-09-23 07:53:17 -07:00
Carl Lerche 3c58b0c75c Add take fn to Buf & MutBuf 2016-09-21 20:41:21 -07:00
Carl Lerche 4105901244 Rename RingBuf::new -> with_capacity 2016-09-20 13:42:24 -07:00
Nikolay Kim 1f188b5628 fix dropping front block in BlockBuf 2016-09-13 15:30:44 -07:00
Stefan BühlerandCarl Lerche f693e038d9 Fix buffer overflow in Sink for Vec<u8>
Fixes #46
2016-09-03 13:25:40 -07:00
Carl Lerche d0d27bd540 Bump min supported Rust version 2016-09-03 13:24:52 -07:00
Carl Lerche 046c864543 Integrate with byteorder 2016-08-31 12:07:44 -07:00
Carl Lerche 38abb8074b Create ByteBuf with MutByteBuf::with_capacity 2016-08-23 14:22:39 -07:00
Carl Lerche be23af6bb7 Remove stable heap for now 2016-08-11 01:38:15 -07:00
Carl Lerche fbebb19a02 Simplify allocation strategy for now
Not having `unsafe_no_drop_flag` caused some weirdness with optimizing buffers
and bytes. For now, remeove it.
2016-08-11 01:36:16 -07:00
Carl Lerche 04e0ac75e2 Huge overhaul of bytes
* Get rid of `ByteStr` trait
* `Bytes` is not a concrete type
* Add `BlockBuf`
* Delete lots of cruft
* Performance work
2016-08-10 15:45:31 -07:00
Carl Lerche b2efe63c70 Get rid of SliceBuf 2016-08-05 22:49:41 -07:00
Carl Lerche 16b4266c3c Improve Buf/MutBuf impl for Cursor 2016-08-05 22:19:37 -07:00