@@ -143,7 +143,7 @@ pub struct OffsetReader<R: Read + Seek> {
143143}
144144
145145impl < R : Read + Seek > OffsetReader < R > {
146- fn _new ( reader : R , offset_list : Vec < ( u64 , usize ) > ) -> Self {
146+ fn new ( reader : R , offset_list : Vec < ( u64 , usize ) > ) -> Self {
147147 let mut offset_list = offset_list. into_iter ( ) ;
148148 let mut finished = false ;
149149
@@ -217,7 +217,7 @@ pub fn get_reverse_reader<T: Read + Seek>(
217217 let mut offset = 0 ;
218218 let mut messages = Vec :: new ( ) ;
219219
220- while let Some ( res) = _find_limit_and_type ( & mut reader) . transpose ( ) {
220+ while let Some ( res) = find_limit_and_type ( & mut reader) . transpose ( ) {
221221 match res {
222222 Ok ( ( header, size) ) => {
223223 messages. push ( ( header, offset, size) ) ;
@@ -238,11 +238,16 @@ pub fn get_reverse_reader<T: Read + Seek>(
238238 // reset reader
239239 reader. rewind ( ) ?;
240240
241- Ok ( StreamReader :: try_new ( BufReader :: new ( OffsetReader :: _new ( reader, messages) ) , None ) . unwrap ( ) )
241+ StreamReader :: try_new ( BufReader :: new ( OffsetReader :: new ( reader, messages) ) , None ) . map_err ( |e| {
242+ io:: Error :: new (
243+ io:: ErrorKind :: InvalidData ,
244+ format ! ( "Invalid arrow stream: {e}" ) ,
245+ )
246+ } )
242247}
243248
244249// return limit for
245- fn _find_limit_and_type (
250+ fn find_limit_and_type (
246251 reader : & mut ( impl Read + Seek ) ,
247252) -> Result < Option < ( MessageHeader , usize ) > , io:: Error > {
248253 let mut size = 0 ;
@@ -476,7 +481,7 @@ mod tests {
476481 // Define offset list: (offset, size)
477482 let offsets = vec ! [ ( 2 , 3 ) , ( 7 , 2 ) ] ; // Read bytes 2-4 (3, 4, 5) and then 7-8 (8, 9)
478483
479- let mut reader = OffsetReader :: _new ( cursor, offsets) ;
484+ let mut reader = OffsetReader :: new ( cursor, offsets) ;
480485 let mut buffer = [ 0u8 ; 10 ] ;
481486
482487 // First read should get bytes 3, 4, 5
@@ -563,7 +568,7 @@ mod tests {
563568 let data = vec ! [ 1 , 2 , 3 , 4 , 5 ] ;
564569 let cursor = Cursor :: new ( data) ;
565570
566- let mut reader = OffsetReader :: _new ( cursor, vec ! [ ] ) ;
571+ let mut reader = OffsetReader :: new ( cursor, vec ! [ ] ) ;
567572 let mut buffer = [ 0u8 ; 10 ] ;
568573
569574 // Should return 0 bytes read
@@ -580,7 +585,7 @@ mod tests {
580585 // One offset of 5 bytes
581586 let offsets = vec ! [ ( 2 , 5 ) ] ; // Read bytes 2-6 (3, 4, 5, 6, 7)
582587
583- let mut reader = OffsetReader :: _new ( cursor, offsets) ;
588+ let mut reader = OffsetReader :: new ( cursor, offsets) ;
584589 let mut buffer = [ 0u8 ; 3 ] ; // Buffer smaller than the 5 bytes we want to read
585590
586591 // First read should get first 3 bytes: 3, 4, 5
@@ -641,7 +646,7 @@ mod tests {
641646 // One large offset (8KB)
642647 let offsets = vec ! [ ( 1000 , 8000 ) ] ;
643648
644- let mut reader = OffsetReader :: _new ( cursor, offsets) ;
649+ let mut reader = OffsetReader :: new ( cursor, offsets) ;
645650 let mut buffer = [ 0u8 ; 10000 ] ;
646651
647652 // Should read 8KB
0 commit comments