aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar tison <wander4096@gmail.com> 2024-04-10 22:45:31 +0800
committerGravatar GitHub <noreply@github.com> 2024-04-10 16:45:31 +0200
commitb5fbfc3edb35a03ca560d29a0911e0495299575e (patch)
tree45a05e463f7e1d923b22766a782c7dd7020b1acd
parent4eb62b912a199bef711e7e12243d972f4f0cdca8 (diff)
downloadbytes-b5fbfc3edb35a03ca560d29a0911e0495299575e.tar.gz
bytes-b5fbfc3edb35a03ca560d29a0911e0495299575e.tar.zst
bytes-b5fbfc3edb35a03ca560d29a0911e0495299575e.zip
perf: improve Bytes::copy_to_bytes (#688)
Signed-off-by: tison <wander4096@gmail.com>
-rw-r--r--src/bytes.rs8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/bytes.rs b/src/bytes.rs
index 63c06ce..c3240ce 100644
--- a/src/bytes.rs
+++ b/src/bytes.rs
@@ -582,13 +582,7 @@ impl Buf for Bytes {
}
fn copy_to_bytes(&mut self, len: usize) -> Self {
- if len == self.remaining() {
- core::mem::replace(self, Bytes::new())
- } else {
- let ret = self.slice(..len);
- self.advance(len);
- ret
- }
+ self.split_to(len)
}
}