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ühler and Carl Lerche
f693e038d9
Fix buffer overflow in Sink for Vec<u8>
...
Fixes #46
2016-09-03 13:25:40 -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
Carl Lerche
b6a424d892
Get rid of BufError
2016-08-05 21:54:29 -07:00
Carl Lerche
6529f6392a
Remove traits mod
2016-08-05 21:42:07 -07:00
Carl Lerche
41b722dee8
Allow checking out AppendBufs from Pool
2016-07-23 09:54:18 -07:00
Carl Lerche
d650404bb8
Add an AppendBuf
2016-07-23 09:49:59 -07:00
Carl Lerche
1c2234f7fe
Initial stab at a buffer pool
2016-07-20 22:47:41 +02:00
Carl Lerche
dc25c7564e
Refactor heap allocation
2016-07-20 13:27:41 +02:00
Carl Lerche
3ca009577b
Bytes reader should be Send
2016-06-19 21:32:18 +01:00
Carl Lerche
270d2e2844
Freshen up buf API
2016-06-08 14:48:49 -07:00
Carl Lerche
6b624b849a
Make MutBuf::advance unsafe
...
Closes #38
2015-12-03 19:57:08 -08:00
Florian Hartwig and Carl Lerche
01c1e05a91
Implement Debug for the various ByteBuf types
2015-09-25 09:47:46 -07:00
Nandor Kracser and Carl Lerche
a76dd8ed0e
Add clear method to RingBuf
2015-09-25 09:45:55 -07:00
Carl Lerche
4ce8b1c2c8
Make sub mods public to help docgen
2015-09-25 09:43:58 -07:00
Dawid Ciężarkiewicz
7edb577d0a
Fix for latest rustc.
2015-08-10 21:53:14 -07:00
Carl Lerche
531c77654c
Merge branch 'v0.2.x'
2015-08-10 10:14:32 -07:00
Carl Lerche
ed087be853
Provide Take decorator that limits Buf size
2015-07-28 12:51:24 -07:00
Carl Lerche
b4abd1431a
Mark MutBuf::mut_buf as unsafe
...
`MutBuf::mut_buf` allows access to uninitialized memory.
2015-07-26 11:02:46 -07:00
Carl Lerche
296cac263c
Implement buffer traits on Vec<u8>, &[u8], Cursor
2015-07-24 16:52:19 -07:00
Paul Cavallaro
23ad12f842
Add bytes() method to MutByteBuf to allow reading of data already written
...
without necessitating flipping to ByteBuf.
2015-07-17 22:22:58 -04:00
Felix Kronlage
c17f16fdf2
no need to be marked mutable
...
allows code to compile with nightly again.
2015-07-07 17:38:12 +02:00
Jamie Turner
7b63fa034f
Add resume() method to ByteBuf that restores prior write position.
2015-07-02 17:19:43 -07:00
James Bielman
d2b4cc3870
RingBuf: Fix edge cases with mark/reset.
...
- This fixes #25 and fixes #26 .
- Move the mark state into a 'Mark' enum.
- Store both 'pos' and 'len' inside the mark because both
are needed to distinguish between full/empty states. This
fixes 'reset' setting 'len' to zero when the buffer was
full when marked.
- Clear the mark when the length of the marked input range
exceeds the capacity. Fixes bugs with the mark not being
cleared correctly on writes.
- Add test cases.
2015-06-02 23:51:57 -07:00
Florian Hartwig
c5452b8cce
Don't transmute & to &mut
2015-05-09 17:34:00 +02:00
Carl Lerche
e39f2ba917
Remove unstable attribute
2015-04-22 08:25:53 -07:00
Dan Burkert
4d645c7f53
add mark/reset feature to ByteBuf and RingBuf
2015-04-11 15:18:32 -07:00
Florian Hartwig and Carl Lerche
c4546493ea
Fix bugs in RingBuf's io::Read and io::Write instance
2015-04-08 13:44:53 -07:00
Florian Hartwig and Carl Lerche
e22415b416
Fix Buf and MutBuf documentation
2015-04-08 13:43:02 -07:00
Carl Lerche
c9d3427fd5
Move various ByteStr impls into separate files
2015-04-08 10:51:52 -07:00
Carl Lerche
ac42766535
Group files as buf or byte str related
2015-04-07 23:40:00 -07:00
Carl Lerche
c4f2e20eb1
Move heap allocator into a module
2015-04-07 21:06:38 -07:00