From 9de6273e10bc03e17ee09e0a44136ae528e6646f Mon Sep 17 00:00:00 2001 From: Yuya Nishihara Date: Fri, 22 Dec 2023 09:06:40 +0900 Subject: [PATCH] index, stacked_table: inline read_u32::() There aren't many callers of ReadBytesExt::read_u32(). --- lib/src/default_index/readonly.rs | 17 +++++++++++++---- lib/src/stacked_table.rs | 10 +++++++--- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lib/src/default_index/readonly.rs b/lib/src/default_index/readonly.rs index eafb4070a..0c3b08b71 100644 --- a/lib/src/default_index/readonly.rs +++ b/lib/src/default_index/readonly.rs @@ -23,7 +23,6 @@ use std::io::Read; use std::path::Path; use std::sync::Arc; -use byteorder::{LittleEndian, ReadBytesExt}; use smallvec::SmallVec; use thiserror::Error; @@ -216,7 +215,12 @@ impl ReadonlyIndexSegment { change_id_length: usize, ) -> Result, ReadonlyIndexLoadError> { let from_io_err = |err| ReadonlyIndexLoadError::from_io_err(&name, err); - let parent_filename_len = file.read_u32::().map_err(from_io_err)?; + let read_u32 = |file: &mut dyn Read| { + let mut buf = [0; 4]; + file.read_exact(&mut buf).map_err(from_io_err)?; + Ok(u32::from_le_bytes(buf)) + }; + let parent_filename_len = read_u32(file)?; let maybe_parent_file = if parent_filename_len > 0 { let mut parent_filename_bytes = vec![0; parent_filename_len as usize]; file.read_exact(&mut parent_filename_bytes) @@ -253,11 +257,16 @@ impl ReadonlyIndexSegment { change_id_length: usize, ) -> Result, ReadonlyIndexLoadError> { let from_io_err = |err| ReadonlyIndexLoadError::from_io_err(&name, err); + let read_u32 = |file: &mut dyn Read| { + let mut buf = [0; 4]; + file.read_exact(&mut buf).map_err(from_io_err)?; + Ok(u32::from_le_bytes(buf)) + }; let num_parent_commits = parent_file .as_ref() .map_or(0, |segment| segment.as_composite().num_commits()); - let num_local_commits = file.read_u32::().map_err(from_io_err)?; - let num_parent_overflow_entries = file.read_u32::().map_err(from_io_err)?; + let num_local_commits = read_u32(file)?; + let num_parent_overflow_entries = read_u32(file)?; let mut data = vec![]; file.read_to_end(&mut data).map_err(from_io_err)?; let commit_graph_entry_size = CommitGraphEntry::size(commit_id_length, change_id_length); diff --git a/lib/src/stacked_table.rs b/lib/src/stacked_table.rs index 9f1b8789c..afa3d4435 100644 --- a/lib/src/stacked_table.rs +++ b/lib/src/stacked_table.rs @@ -29,7 +29,6 @@ use std::path::PathBuf; use std::sync::{Arc, RwLock}; use blake2::{Blake2b512, Digest}; -use byteorder::{LittleEndian, ReadBytesExt}; use tempfile::NamedTempFile; use thiserror::Error; @@ -74,7 +73,12 @@ impl ReadonlyTable { name: String, key_size: usize, ) -> TableStoreResult> { - let parent_filename_len = file.read_u32::()?; + let read_u32 = |file: &mut dyn Read| -> io::Result { + let mut buf = [0; 4]; + file.read_exact(&mut buf)?; + Ok(u32::from_le_bytes(buf)) + }; + let parent_filename_len = read_u32(file)?; let maybe_parent_file = if parent_filename_len > 0 { let mut parent_filename_bytes = vec![0; parent_filename_len as usize]; file.read_exact(&mut parent_filename_bytes)?; @@ -84,7 +88,7 @@ impl ReadonlyTable { } else { None }; - let num_local_entries = file.read_u32::()? as usize; + let num_local_entries = read_u32(file)? as usize; let index_size = num_local_entries * ReadonlyTableIndexEntry::size(key_size); let mut data = vec![]; file.read_to_end(&mut data)?;