@@ -29,7 +29,6 @@ use bao_tree::{
2929 ChunkRanges ,
3030} ;
3131use bytes:: Bytes ;
32- use genawaiter:: sync:: Gen ;
3332use irpc:: {
3433 channel:: { mpsc, oneshot} ,
3534 rpc_requests,
@@ -398,7 +397,7 @@ impl IrpcStreamItem for ListTagsItem {
398397 fn from_result ( item : std:: result:: Result < TagInfo , super :: Error > ) -> Self {
399398 match item {
400399 Ok ( i) => Self :: Item ( i) ,
401- Err ( e) => Self :: Error ( e. into ( ) ) ,
400+ Err ( e) => Self :: Error ( e) ,
402401 }
403402 }
404403
@@ -431,41 +430,7 @@ impl ListTagsProgress {
431430 }
432431
433432 pub fn stream ( self ) -> impl Stream < Item = super :: Result < TagInfo > > {
434- Gen :: new ( |co| async move {
435- let mut rx = match self . inner . await {
436- Ok ( rx) => rx,
437- Err ( err) => {
438- co. yield_ ( Err ( super :: Error :: from ( err) ) ) . await ;
439- return ;
440- }
441- } ;
442- loop {
443- match rx. recv ( ) . await {
444- Ok ( Some ( ListTagsItem :: Item ( item) ) ) => {
445- co. yield_ ( Ok ( item) ) . await ;
446- }
447- Ok ( Some ( ListTagsItem :: Done ) ) => {
448- break ;
449- }
450- Ok ( Some ( ListTagsItem :: Error ( err) ) ) => {
451- co. yield_ ( Err ( err. into ( ) ) ) . await ;
452- break ;
453- }
454- Ok ( None ) => {
455- co. yield_ ( Err ( super :: Error :: Io ( io:: Error :: new (
456- io:: ErrorKind :: UnexpectedEof ,
457- "stream ended" ,
458- ) ) ) )
459- . await ;
460- break ;
461- }
462- Err ( cause) => {
463- co. yield_ ( Err ( super :: Error :: from ( cause) ) ) . await ;
464- break ;
465- }
466- }
467- }
468- } )
433+ self . inner . into_stream ( )
469434 }
470435}
471436
0 commit comments