Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-10-16 | prepare for 0.6 work (#428) | 1 | -1/+1 | ||
2020-07-13 | v0.5.6v0.5.6v0.5.x | 1 | -1/+1 | ||
2020-07-09 | Change default lint level to warning and deny warnings in CI (#397) | 1 | -6/+1 | ||
2020-07-09 | docs: Clarify what BytesMut is (#375) | 1 | -2/+6 | ||
2020-07-08 | BytesMut: Reuse buffer when data fully consumed via Buf | 1 | -3/+2 | ||
Closes #412 | |||||
2020-07-05 | Add inline attribute to BytesMut::as_mut (#410) | 1 | -0/+1 | ||
2020-07-03 | Add inline attribute to BytesMut::set_len (#408) | 1 | -0/+1 | ||
2020-07-02 | Remove unnecessary synchronization when cloning shared representation (#404) | 2 | -2/+2 | ||
2020-06-18 | v0.5.5v0.5.5 | 1 | -1/+1 | ||
2020-05-27 | Remove outdated info on BytesMut::with_capacity (#394) | 1 | -2/+1 | ||
Remove a remark from the doc that pertained to the inline layout and is no longer true. | |||||
2020-05-24 | Deny warnings for doc tests (#391) | 6 | -10/+15 | ||
2020-05-22 | Fix reference in Take docs (#383) | 1 | -1/+1 | ||
2020-05-22 | Format with rustfmt (#389) | 15 | -299/+345 | ||
* Format with rustfmt * Add rustfmt check to CI | |||||
2020-05-22 | Update to loom v0.3 (#381) | 3 | -24/+57 | ||
2020-03-25 | Fix #354 -- Make advance_mut impl of BufMut for Vec<u8> panic if cnt > remaining | 1 | -5/+7 | ||
2020-03-24 | Fix #352 -- Make freeze respect the start offset for BytesMuts in Vec mode | 1 | -1/+3 | ||
2020-01-23 | v0.5.4v0.5.4 | 1 | -1/+1 | ||
2020-01-23 | Do not panic on Bytes::slice_ref on empty slice (#355) | 1 | -0/+6 | ||
Use case: ``` let bytes: Bytes = ... let subbytes = bytes.slice(a..b); // where a == b let slice = &subbytes[..]; let slice_bytes = bytes.slice_ref(slice); ``` Last line should not panic, because `slice` object is derived from the original `Bytes` object. Before this commit it panics, because `Bytes::slice` returns a fresh `Bytes` object when `begin == end`. | |||||
2020-01-23 | merge `hex` & `debug` into `fmt` (#357) | 7 | -62/+61 | ||
2020-01-23 | Minor documentation fixes (#351) | 1 | -8/+13 | ||
* Remove incorrect comment about behavior of put_slice * Improve grammar and clarity of BytesMut documentation | |||||
2020-01-23 | Fix reversed arguments in PartialOrd impls (#358) | 2 | -10/+10 | ||
2020-01-23 | Assert that the alignment of Shared is appropriate (#362) | 1 | -0/+6 | ||
2020-01-23 | rebuild_boxed_slice instead of rebuild_boxed_vec (#364) | 1 | -5/+5 | ||
"Promotable" `Bytes` object is constructed from disassembling a boxed slice object, not a vec. Thus we should reassemble data into a boxed slice, not into a vec. Although, it does not create any problems in practice (`Box<[u8]>` is allocated exactly the same way as `Vec<u8>`), technically it is a violation of `Vec::from_raw_parts` spec which says that a pointer "needs to have been previously allocated via `String`/`Vec<T>`". | |||||
2020-01-22 | Fix Bytes::truncate losing the original Vec's capacity (#361) | 1 | -1/+9 | ||
2020-01-09 | Make Bytes::new const fn (#356) | 1 | -1/+11 | ||
2020-01-07 | Improve assertion messages (#349) | 2 | -13/+57 | ||
2019-12-19 | Re-add impl From<BytesMut> for Bytes (#348) | 1 | -0/+6 | ||
2019-12-17 | Fix Bytes when Vec pointer's LSB is set (#346) | 1 | -45/+82 | ||
This separates the `SharedVtable` into 3: - `PromotableEvenVtable`: The original `SharedVtable`, which will promote the `Vec` to `Shared` on the first clone, and is selected when the `Vec`'s pointer has the LSB unset. - `PromotableOddVtable`: Similar to the `PromotableEvenVtable`, but selected when the `Vec`'s pointer has the LSB set. This vtable differs in the masking used when reconstructing the `Vec`. - `SharedVtable`: This no longer checks if its current kind is `VEC` or `ARC`, and is only created by the "promotable" vtables. This also adds a test using an "odd" global allocator that purposefully bumps all pointers with alignment of 1. Closes #343 | |||||
2019-12-12 | v0.5.3v0.5.3 | 1 | -1/+1 | ||
2019-12-12 | Assert the LSB is 0 when converting Vec into Bytes | 1 | -3/+29 | ||
2019-12-12 | Fix conversion of empty vectors to Bytes | 1 | -0/+7 | ||
Closes #340 | |||||
2019-12-10 | Make Deref impls of Buf and BufMut forward more methods | 2 | -24/+151 | ||
2019-12-10 | Optimize BufMut for Vec and BytesMut (#338) | 2 | -6/+65 | ||
2019-12-04 | Add must_use to split, split_off, and split_to | 2 | -0/+59 | ||
2019-12-01 | Fix regression in Bytes::truncate (#333) | 1 | -3/+1 | ||
When the length to truncate is greater than the buffer's current length, do nothing instead of clearing the contents. | |||||
2019-11-27 | v0.5.2v0.5.2 | 1 | -1/+1 | ||
2019-11-26 | Add accessors to Limit combinator (#325) | 1 | -0/+41 | ||
2019-11-26 | chore: prepare v0.5.1 release (#322)v0.5.1 | 1 | -1/+1 | ||
2019-11-25 | doc: fix BytesMut growth documentation. (#321) | 1 | -8/+3 | ||
2019-11-25 | prepare v0.5.0 release (#319)v0.5.0 | 1 | -4/+4 | ||
2019-11-25 | Export public the combinator types (#318) | 1 | -4/+4 | ||
2019-11-20 | add BufMutExt::limit (#309) | 2 | -0/+57 | ||
This type is the counterpart to BufExt::take. It limits how many bytes some `BufMut` can actually be filled with. | |||||
2019-11-20 | remove either feature (#315) | 2 | -98/+0 | ||
remove either feature | |||||
2019-11-20 | implicitly grow BytesMut; add BufMutExt::chain_mut (#316) | 3 | -16/+47 | ||
This brings `BytesMut` in line with `Vec<u8>` behavior. This also fixes an existing bug in BytesMut::bytes_mut that exposes invalid slices. The bug was recently introduced and was only on master and never released to `crates.io`. In order to fix a test, `BufMutExt::chain_mut` is provided. Withou this, it is not possible to chain two `&mut [u8]`. Closes #170 | |||||
2019-11-20 | Make Bytes::from_static a const fn (#311) | 1 | -1/+12 | ||
Rust versions bumped to the minimum needed for const slice len. | |||||
2019-11-13 | Change loom tests to use cfg(loom) internally (#314) | 3 | -0/+72 | ||
2019-11-12 | Improve performance of `BytesMut::reserve` (#313) | 1 | -0/+9 | ||
Makes the short-circuit checks inline-able, and the moves the actual reserving code to an inner function. | |||||
2019-11-04 | implement Buf for std::io::Cursor (#308) | 1 | -0/+33 | ||
2019-10-31 | Move "extra" methods to extension traits (#306) | 8 | -226/+164 | ||
2019-10-24 | Change BufMut methods that expose maybe-uninitialized bytes (#305) | 5 | -46/+93 | ||
- The return type of `BufMut::bytes_mut` is now `&mut [MaybeUninit<u8>]`. - The argument type of `BufMut::bytes_vectored_mut` is now `&mut [bytes::buf::IoSliceMut]`. - `bytes::buf::IoSliceMut` is a `repr(transparent)` wrapper around an `std::io::IoSliceMut`, but does not expose the inner bytes with a safe API, since they might be uninitialized. - `BufMut::bytesMut` and `BufMut::bytes_vectored_mut` are no longer `unsafe fn`, since the types encapsulate the unsafety instead. |