Commit Graph
39 Commits
Author SHA1 Message Date
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 98e0d954b5 Reorganize crate 2016-09-23 12:05:32 -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 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 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 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 270d2e2844 Freshen up buf API 2016-06-08 14:48:49 -07:00
Nandor KracserandCarl Lerche a76dd8ed0e Add clear method to RingBuf 2015-09-25 09:45:55 -07:00
Carl Lerche 3d0a4adc30 Fix tests 2015-09-25 09:36:32 -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
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 d25958970e + isn't implemented on Vec any more 2015-05-09 17:58:23 +02:00
Dan Burkert 4d645c7f53 add mark/reset feature to ByteBuf and RingBuf 2015-04-11 15:18:32 -07:00
Florian Hartwig 40f1d1aa77 Add some basic tests for RingBuf 2015-04-09 23:18:16 +02:00
Carl Lerche 29e5dc72bb Get compiling on Rust 1.0 beta 2015-04-03 23:45:34 -07:00
Victor Berger 635274752b Update for new blanket impl rules. 2015-04-03 22:46:10 +02:00
Carl Lerche f0ce42d9c3 Track Rust nightlies 2015-04-01 20:09:20 -07:00
Carl Lerche 8f526231d8 Track Rust nightlies 2015-03-25 12:44:38 -07:00
Carl Lerche 83680dda27 Implement Source for std::io::Read 2015-03-24 22:10:29 -07:00
Carl Lerche bd2c643e17 Flesh out ToBytes, ByteStr::concat, and ByteStr eq 2015-03-23 23:22:21 -07:00
Carl Lerche a87dea0bd4 Track Rust master 2015-03-23 17:12:39 -07:00
Florian Hartwig 3f9b7f6d46 Fix errors and warnings with current rust nightly 2015-03-19 16:23:29 +01:00
Carl Lerche 7444721d98 Implement Debug for Bytes 2015-02-17 12:40:15 -08:00
Carl Lerche 3c4ebb85f0 WIP - Implement abstractions for working with bytes 2015-02-09 21:24:53 -08:00