File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change @@ -403,6 +403,14 @@ where
403
403
get_crd1 = true ;
404
404
get_crd2 = true ;
405
405
}
406
+ ( Token :: Stop ( _) , Token :: Empty ) => {
407
+ get_crd1 = false ;
408
+ get_crd2 = true ;
409
+ }
410
+ ( Token :: Empty , Token :: Stop ( _) ) => {
411
+ get_crd1 = true ;
412
+ get_crd2 = false ;
413
+ }
406
414
_ => ( ) ,
407
415
}
408
416
}
Original file line number Diff line number Diff line change @@ -547,6 +547,31 @@ where
547
547
. out_ref
548
548
. enqueue ( & self . time , channel_elem. clone ( ) )
549
549
. unwrap ( ) ;
550
+ let next_tkn = self . rd_scan_data . in_ref . peek_next ( & self . time ) . unwrap ( ) ;
551
+ let output: Token < ValType , StopType > = match next_tkn. data {
552
+ Token :: Val ( _) | Token :: Done | Token :: Empty => {
553
+ Token :: Stop ( StopType :: default ( ) )
554
+ }
555
+ Token :: Stop ( stop_tkn) => {
556
+ self . rd_scan_data . in_ref . dequeue ( & self . time ) . unwrap ( ) ;
557
+ Token :: Stop ( stop_tkn + 1 )
558
+ }
559
+ } ;
560
+ let curr_time = self . time . tick ( ) ;
561
+ self . rd_scan_data
562
+ . out_crd
563
+ . enqueue (
564
+ & self . time ,
565
+ ChannelElement :: new ( curr_time + 1 , output. clone ( ) ) ,
566
+ )
567
+ . unwrap ( ) ;
568
+ self . rd_scan_data
569
+ . out_ref
570
+ . enqueue (
571
+ & self . time ,
572
+ ChannelElement :: new ( curr_time + 1 , output. clone ( ) ) ,
573
+ )
574
+ . unwrap ( ) ;
550
575
}
551
576
} ,
552
577
Err ( _) => panic ! ( "Error: rd_scan_data dequeue error" ) ,
You can’t perform that action at this time.
0 commit comments