From 51fe24873fbd255e80063a97ecd406726c1e6675 Mon Sep 17 00:00:00 2001 From: Ayush Singh Date: Mon, 19 Dec 2022 14:52:02 +0530 Subject: [PATCH] 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 --- src/tools/remote-test-server/src/main.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/tools/remote-test-server/src/main.rs b/src/tools/remote-test-server/src/main.rs index c1450aedc31..3d61a067559 100644 --- a/src/tools/remote-test-server/src/main.rs +++ b/src/tools/remote-test-server/src/main.rs @@ -365,13 +365,7 @@ fn my_copy(src: &mut dyn Read, which: u8, dst: &Mutex) { 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) { fn batch_copy(buf: &[u8], which: u8, dst: &Mutex) { 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) { } } +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) }