@@ -375,15 +375,15 @@ pub mod test {
375
375
& buf[ ..] ) ;
376
376
}
377
377
378
- impl AsOutputSegments for Vec < Vec < u8 > > {
378
+ impl AsOutputSegments for Vec < Vec < capnp :: Word > > {
379
379
fn as_output_segments < ' a > ( & ' a self ) -> OutputSegments < ' a > {
380
380
if self . len ( ) == 0 {
381
381
OutputSegments :: SingleSegment ( [ & [ ] ] )
382
382
} else if self . len ( ) == 1 {
383
- OutputSegments :: SingleSegment ( [ & self [ 0 ] [ ..] ] )
383
+ OutputSegments :: SingleSegment ( [ capnp :: Word :: words_to_bytes ( & self [ 0 ] [ ..] ) ] )
384
384
} else {
385
385
OutputSegments :: MultiSegment ( self . iter ( )
386
- . map ( |segment| & segment[ ..] )
386
+ . map ( |segment| capnp :: Word :: words_to_bytes ( & segment[ ..] ) )
387
387
. collect :: < Vec < _ > > ( ) )
388
388
}
389
389
}
@@ -471,30 +471,15 @@ pub mod test {
471
471
}
472
472
}
473
473
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
-
488
474
#[ test]
489
475
fn check_round_trip_async ( ) {
490
476
fn round_trip ( read_block_frequency : usize ,
491
477
write_block_frequency : usize ,
492
- word_segments : Vec < Vec < u64 > > ) -> TestResult
478
+ segments : Vec < Vec < capnp :: Word > > ) -> TestResult
493
479
{
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 {
495
481
return TestResult :: discard ( ) ;
496
482
}
497
- let segments = word_segments_to_byte_segments ( word_segments) ;
498
483
let ( mut read, segments) = {
499
484
let cursor = std:: io:: Cursor :: new ( Vec :: new ( ) ) ;
500
485
let mut writer = BlockingWrite :: new ( cursor, write_block_frequency) ;
@@ -510,11 +495,11 @@ pub mod test {
510
495
let message_segments = message. into_segments ( ) ;
511
496
512
497
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 ( )
514
499
} ) )
515
500
}
516
501
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 ) ;
518
503
}
519
504
}
520
505
0 commit comments