@@ -375,15 +375,15 @@ pub mod test {
375375 &buf[..]);
376376 }
377377
378- impl AsOutputSegments for Vec<Vec<u8 >> {
378+ impl AsOutputSegments for Vec<Vec<capnp::Word >> {
379379 fn as_output_segments<'a>(&'a self) -> OutputSegments<'a> {
380380 if self.len() == 0 {
381381 OutputSegments::SingleSegment([&[]])
382382 } else if self.len() == 1 {
383- OutputSegments::SingleSegment([&self[0][..]])
383+ OutputSegments::SingleSegment([capnp::Word::words_to_bytes( &self[0][..]) ])
384384 } else {
385385 OutputSegments::MultiSegment(self.iter()
386- .map(|segment| &segment[..])
386+ .map(|segment| capnp::Word::words_to_bytes( &segment[..]) )
387387 .collect::<Vec<_>>())
388388 }
389389 }
@@ -471,30 +471,15 @@ pub mod test {
471471 }
472472 }
473473
474- fn word_segments_to_byte_segments(word_segments: Vec<Vec<u64>>) -> Vec<Vec<u8>> {
475- let mut result = Vec::new();
476- for s in word_segments {
477- let mut byte_seg = Vec::new();
478- for w in s {
479- for b in &w.to_le_bytes() {
480- byte_seg.push(*b)
481- }
482- }
483- result.push(byte_seg);
484- }
485- result
486- }
487-
488474 #[test]
489475 fn check_round_trip_async() {
490476 fn round_trip(read_block_frequency: usize,
491477 write_block_frequency: usize,
492- word_segments : Vec<Vec<u64 >>) -> TestResult
478+ segments : Vec<Vec<capnp::Word >>) -> TestResult
493479 {
494- if word_segments .len() == 0 || read_block_frequency == 0 || write_block_frequency == 0 {
480+ if segments .len() == 0 || read_block_frequency == 0 || write_block_frequency == 0 {
495481 return TestResult::discard();
496482 }
497- let segments = word_segments_to_byte_segments(word_segments);
498483 let (mut read, segments) = {
499484 let cursor = std::io::Cursor::new(Vec::new());
500485 let mut writer = BlockingWrite::new(cursor, write_block_frequency);
@@ -510,11 +495,11 @@ pub mod test {
510495 let message_segments = message.into_segments();
511496
512497 TestResult::from_bool(segments.iter().enumerate().all(|(i, segment)| {
513- &segment[..] == message_segments.get_segment(i as u32).unwrap()
498+ capnp::Word::words_to_bytes( &segment[..]) == message_segments.get_segment(i as u32).unwrap()
514499 }))
515500 }
516501
517- quickcheck(round_trip as fn(usize, usize, Vec<Vec<u64 >>) -> TestResult);
502+ quickcheck(round_trip as fn(usize, usize, Vec<Vec<capnp::Word >>) -> TestResult);
518503 }
519504}
520505
0 commit comments