Paolo Barbolini and GitHub
79fb85323c
fix: apply sign extension when decoding int ( #732 )
...
Closes #730
2024-08-30 08:20:29 -04:00
Paolo Barbolini and GitHub
291df5acc9
Fix double spaces in comments and doc comments ( #731 )
2024-08-19 10:19:35 +02:00
Cameron Bytheway and GitHub
ed7d5ff39e
test: ensure BytesMut::advance reduces capacity ( #728 )
2024-08-02 19:07:45 +00:00
Alice Ryhl and GitHub
dc4fb3e8f4
chore: prepare bytes v1.7.1 ( #727 )
v1.7.1
2024-08-01 22:55:24 +02:00
Alice Ryhl and GitHub
f488be48d0
Revert "Reuse capacity when possible in <BytesMut as Buf>::advance impl" ( #726 )
...
This reverts commit baa5053572 .
2024-08-01 22:38:17 +02:00
Motoyuki Kimura and GitHub
03fdde9dcf
chore: prepare v1.7.0 ( #724 )
v1.7.0
2024-07-31 13:33:47 +02:00
Alice Ryhl
f8c7b574c0
Merge 'v1.6.1' into 'master' ( #721 )
2024-07-13 09:51:48 +02:00
Alice Ryhl and GitHub
fd13c7dcdb
chore: prepare bytes v1.6.1 ( #720 )
v1.6.1
2024-07-13 09:45:33 +02:00
Emily Crandall Fleischman and GitHub
6b4b0eda29
Fix Bytes::is_unique when created from shared BytesMut ( #718 )
...
The `is_unique` entry in the vtable for `Bytes` created from a shared
`BytesMut` just called the `shared_is_unique` function from the `bytes`
module. However, that function dereferences the `data` argument` as
`bytes::Shared`, but the actual underlying type is `bytes_mut::Shared`.
2024-07-13 01:09:46 +02:00
EXPLOSION and GitHub
9965a04b56
Remove unnecessary file ( #719 )
2024-07-10 19:08:47 +09:00
vvvviiv and GitHub
3443ca5a0b
docs: clarify the behavior of Buf::chunk ( #717 )
2024-07-09 14:13:09 +02:00
Sebastian Hahn and GitHub
8cc940779f
Allow reclaiming the current allocation ( #686 )
2024-06-28 14:26:32 +02:00
Paolo Barbolini and GitHub
7a5154ba8b
Clarify how BytesMut::zeroed works and advantages to manual impl ( #714 )
2024-06-21 14:07:25 +02:00
Anthony Ramine and GitHub
fa1daac3ae
Change Bytes::make_mut to impl From<Bytes> for BytesMut ( closes #709 ) ( #710 )
...
<Arc<T>>::make_mut returns a &mut T, such an API is doable for Bytes too
and thus we should reserve Bytes::make_mut for that.
Furthermore, it would be helpful to use From<Bytes> as a trait bound
in some cases with other traits such as Hyper's body trait, where Hyper
gives you Bytes values.
Finally, making it impl From<Bytes> for BytesMut means the API is more
easily discoverable as it appears on both Bytes and BytesMut.
2024-05-28 10:14:02 +02:00
Paolo Barbolini and GitHub
caf520ac7f
Fix iter tests to use the actual bytes IntoIter instead of std ( #707 )
2024-05-19 15:28:03 -04:00
Brad Dunbar and GitHub
4950c50376
Offset from ( #705 )
2024-05-11 19:41:50 +02:00
Émile Fugulin and GitHub
86694b0564
Add zero-copy make_mut ( #695 )
2024-05-05 17:58:00 +02:00
Alice Ryhl and GitHub
0c17e99283
ci: silence unexpected-cfgs warnings due to #[cfg(loom)] ( #703 )
2024-05-05 14:19:18 +02:00
Alice Ryhl and GitHub
cb7f8449b5
Tweak clear and truncate length modifications ( #700 )
2024-04-26 09:24:05 +02:00
Paolo Barbolini and GitHub
a8806c2457
Improve BytesMut::split suggestion ( #699 )
2024-04-25 10:43:15 +02:00
Paolo Barbolini and GitHub
baa5053572
Reuse capacity when possible in <BytesMut as Buf>::advance impl ( #698 )
2024-04-25 09:08:16 +02:00
Brad Dunbar and GitHub
ce09d7d358
Bytes::split_off - check fast path first ( #693 )
...
Follow up to https://github.com/tokio-rs/bytes/pull/689
* If `at == self.len()`, we already know `at <= self.len()`.
* If `at == 0`, we already know `at <= self.len()`.
2024-04-24 08:23:39 -04:00
9d3ec1cffb
Resize refactor ( #696 )
...
* use checked_sub
* return when additional == 0
* move safe operation out of unsafe block
* use spare_capacity_mut instead of chunk_mut
We don't need to check capacity because it's already been reserved
above.
* Add safety comments
* refactor to use guard clauses
This would be better written with let-else, but we won't get that until
`MSRV >= 1.65.x`.
* use if-let instead of unwrap
* reduce scope of unsafe blocks
Co-authored-by: Alice Ryhl <[email protected] >
---------
Co-authored-by: Alice Ryhl <[email protected] >
2024-04-24 05:49:53 -04:00
Brad Dunbar and GitHub
4e2c9c065a
Truncate tweaks ( #694 )
2024-04-17 11:27:00 +02:00
Joseph Perez and GitHub
327615e5d4
test(benches): encloses bytes into test::black_box for clone benches ( #691 )
...
Closes #690
Without it, it seems to me that compiler is able to inline the vtable,
resulting in similar results for `clone_shared` and `clone_arg_vec`.
2024-04-11 11:45:18 +02:00
tison and GitHub
b5fbfc3edb
perf: improve Bytes::copy_to_bytes ( #688 )
...
Signed-off-by: tison <[email protected] >
2024-04-10 16:45:31 +02:00
Brad Dunbar and GitHub
4eb62b912a
Bytes::split_to - check fast path first ( #689 )
...
If `at == self.len()` then we already know `at <= self.len()`. If
`at == 0`, it can't be greater than `self.len()`.
2024-04-10 10:09:09 +02:00
Brad Dunbar and GitHub
e4af48633c
Don't set len in BytesMut::reserve ( #682 )
...
A fundamental invariant of `reserve` is that it can extend capacity
while the stored data remains the same, even if it's moved to a new
allocation. As a result, `len` can never change during a call to
`reserve`.
2024-04-09 14:35:54 +02:00
Brad Dunbar and GitHub
0d4cc7ffed
Bytes: Use ManuallyDrop instead of mem::forget ( #678 )
2024-04-08 17:05:04 +02:00
Brad Dunbar and GitHub
ce8d8a0a02
chore: prepare bytes v1.6.0 ( #681 )
v1.6.0
2024-03-22 20:55:20 +01:00
Brad Dunbar and GitHub
536db06f16
Use ManuallyDrop instead of mem::forget ( #675 )
2024-03-14 14:40:03 +01:00
Brad Dunbar and GitHub
ca004117f8
Remove commented tests for Bytes::unsplit ( #677 )
...
Bytes doesn't have an unsplit method anymore. We can always retrieve
these from git history if necessary.
2024-03-04 09:05:00 +01:00
Brad Dunbar and GitHub
7968f6f83d
Remove redundant reserve call ( #674 )
2024-03-04 09:04:40 +01:00
Brad Dunbar and GitHub
c5fae00c76
copy_to_bytes: Add panic section to docs ( #676 )
...
Fixes #454 .
2024-03-03 22:59:30 +09:00
Brad Dunbar and GitHub
99584cc10d
Use Iterator from the prelude ( #673 )
...
CI is [failing][failure] due to unused_imports because Iterator is
already in the prelude. Removing it fixes things up.
[failure]: https://github.com/tokio-rs/bytes/actions/runs/8034858583/job/21946873895
2024-03-03 00:40:17 +09:00
Brad Dunbar and GitHub
46289278f5
Refactor split_at/split_to ( #663 )
...
* set len a little more concisely
* inline set_end
* remove kind assertions
* remove a duplicate assertion
* remove redundant assertion and min
* rename set_start to advance_unchecked
2024-02-23 14:22:58 -08:00
Brad Dunbar and GitHub
1bcd2129d1
get_vec_pos: use &self instead of &mut self ( #670 )
...
I can't see any reason that get_vec_pos needs a &mut self.
2024-02-06 17:34:30 -05:00
Brad Dunbar and GitHub
f586ffc525
set_vec_pos does not need a second parameter ( #672 )
...
The second argument to `set_vec_pos` always contains the value of
`self.data`. Let's just use `self.data` and remove the second parameter
altogether.
2024-02-06 11:03:37 -08:00
Brad Dunbar and GitHub
c6972d6132
Calculate original capacity only if necessary ( #666 )
...
We don't need the original capacity if the shared data is unique, so
let's not calculate it until after that check.
2024-02-06 10:46:49 -08:00
Brad Dunbar and GitHub
47e83056f2
Use sub instead of offset ( #668 )
...
We're always subtracting here, and we already have a usize, so `sub`
seems like a more appropriate usage to me.
2024-02-06 10:41:44 -08:00
Brad Dunbar and GitHub
8bcac21cb4
Restore commented tests ( #665 )
...
These seem to have been commented by accident in #298 , and are still
passing.
2024-02-06 10:17:01 -08:00
Brad Dunbar and GitHub
d2e7abdb29
refactor: make parameter mut in From<Vec> ( #667 )
...
Instead of re-declaring `vec`, we can just use a mut parameter.
2024-01-31 09:41:23 -05:00
Brad Dunbar and GitHub
e24587dd61
Remove unreachable else branch ( #661 )
2024-01-28 15:30:30 +03:30
Brad Dunbar and GitHub
9257a6ea08
Remove an unnecessary else branch ( #662 )
2024-01-28 14:20:56 +03:30
Brad Dunbar and GitHub
0ba3b4c4cd
Remove unnecessary namespace qualifier ( #660 )
2024-01-28 14:07:11 +03:30
Cyborus04 and GitHub
0864aea970
add Bytes::is_unique ( #643 )
2024-01-19 23:59:30 +01:00
Brad Dunbar and GitHub
abb4a2e66c
BytesMut: Assert alignment of Shared ( #652 )
...
Back in #362 , an assertion was added to ensure that the alignment of
bytes::Shared is even so we can use the least significant bit as a flag.
bytes_mut::Shared uses the same technique but has no such assertion so
I've added one here.
2024-01-19 11:08:27 +01:00
Taiki Endo and GitHub
09214ba51b
Update CI config ( #650 )
2024-01-08 01:11:02 +09:00
Taiki Endo and GitHub
fbc64bcc67
Update loom to 0.7 ( #651 )
2024-01-08 01:10:48 +09:00
Alice Ryhl and GitHub
3bf6583b5c
readme: add security policy ( #649 )
2024-01-03 17:22:39 +01:00