Use u32 methods instead of manual shifting

Switch to `to_be_bytes()` and `from_be_bytes()` instead of manual
shifting

This was suggested [`here`](https://github.com/rust-lang/rust/pull/105145#discussion_r1051418964)

Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
This commit is contained in:
Ayush Singh 2022-12-19 14:52:02 +05:30
parent 224fa3907e
commit 51fe24873f
No known key found for this signature in database
GPG Key ID: 05CEF5C789E55A74

View File

@ -365,13 +365,7 @@ fn my_copy(src: &mut dyn Read, which: u8, dst: &Mutex<dyn Write>) {
loop {
let n = t!(src.read(&mut b));
let mut dst = dst.lock().unwrap();
t!(dst.write_all(&[
which,
(n >> 24) as u8,
(n >> 16) as u8,
(n >> 8) as u8,
(n >> 0) as u8,
]));
t!(dst.write_all(&create_header(which, n as u32)));
if n > 0 {
t!(dst.write_all(&b[..n]));
} else {
@ -383,7 +377,7 @@ fn my_copy(src: &mut dyn Read, which: u8, dst: &Mutex<dyn Write>) {
fn batch_copy(buf: &[u8], which: u8, dst: &Mutex<dyn Write>) {
let n = buf.len();
let mut dst = dst.lock().unwrap();
t!(dst.write_all(&[which, (n >> 24) as u8, (n >> 16) as u8, (n >> 8) as u8, (n >> 0) as u8,]));
t!(dst.write_all(&create_header(which, n as u32)));
if n > 0 {
t!(dst.write_all(buf));
// Marking buf finished
@ -391,11 +385,13 @@ fn batch_copy(buf: &[u8], which: u8, dst: &Mutex<dyn Write>) {
}
}
const fn create_header(which: u8, n: u32) -> [u8; 5] {
let bytes = n.to_be_bytes();
[which, bytes[0], bytes[1], bytes[2], bytes[3]]
}
fn read_u32(r: &mut dyn Read) -> u32 {
let mut len = [0; 4];
t!(r.read_exact(&mut len));
((len[0] as u32) << 24)
| ((len[1] as u32) << 16)
| ((len[2] as u32) << 8)
| ((len[3] as u32) << 0)
u32::from_be_bytes(len)
}