@@ -614,32 +614,55 @@ pub fn dummy_report_sender() -> ReportSender {
614
614
}
615
615
616
616
pub type GenericSender < T > = Box < dyn Sink < T , Error = SendError > > ;
617
- pub type GenericReceiver < T > = Box < dyn Stream < Item = T > > ;
617
+ // Box<S> implements Stream only if S: Stream + Unpin
618
+ pub type GenericReceiver < T > = Box < dyn Stream < Item = T > + Unpin > ;
618
619
619
- pub struct SqmrClientQuery < Query , Response : TryFrom < Bytes > > {
620
+ pub struct SqmrClientPayload < Query , Response : TryFrom < Bytes > > {
620
621
pub query : Query ,
621
622
pub report_receiver : oneshot:: Receiver < ( ) > ,
622
623
pub responses_sender : GenericSender < Result < Response , <Response as TryFrom < Bytes > >:: Error > > ,
623
624
}
624
- // TODO(shahak): Return this type in register_sqmr_protocol_client
625
- pub type SqmrClientChannel < Query , Response > = GenericSender < SqmrClientQuery < Query , Response > > ;
626
-
627
- pub struct SqmrServerQuery < Query , Response : TryFrom < Bytes > > {
625
+ pub struct SqmrServerPayload < Query , Response : TryFrom < Bytes > > {
628
626
pub query : Query ,
629
627
pub report_sender : oneshot:: Sender < ( ) > ,
630
628
pub responses_sender : GenericSender < Result < Response , <Response as TryFrom < Bytes > >:: Error > > ,
631
629
}
632
- // TODO(shahak): Return this type in register_sqmr_protocol_server
633
- pub type SqmrServerChannel < Query , Response > = GenericReceiver < SqmrServerQuery < Query , Response > > ;
634
630
635
631
#[ allow( dead_code) ]
636
- struct SqmrClientQueryForNetwork {
632
+ struct SqmrClientPayloadForNetwork {
637
633
pub query : Bytes ,
638
634
pub report_receiver : BoxFuture < ' static , SessionId > ,
639
635
pub responses_sender : GenericSender < Bytes > ,
640
636
}
637
+
638
+ // TODO(shahak): Return this type in register_sqmr_protocol_client
639
+ pub type SqmrClientSender < Query , Response > = GenericSender < SqmrClientPayload < Query , Response > > ;
640
+ #[ allow( dead_code) ]
641
+ type SqmrClientReceiver = GenericReceiver < SqmrClientPayloadForNetwork > ;
642
+
643
+ // TODO(shahak): Return this type in register_sqmr_protocol_server
644
+ pub type SqmrServerReceiver < Query , Response > = GenericReceiver < SqmrServerPayload < Query , Response > > ;
645
+ #[ allow( dead_code) ]
646
+ type SqmrServerSender = GenericSender < SqmrServerPayloadForNetwork > ;
647
+
648
+ impl < Query , Response : TryFrom < Bytes > > From < SqmrClientPayload < Query , Response > >
649
+ for SqmrClientPayloadForNetwork
650
+ {
651
+ fn from ( _query : SqmrClientPayload < Query , Response > ) -> Self {
652
+ unimplemented ! ( )
653
+ }
654
+ }
655
+
656
+ impl < Query , Response : TryFrom < Bytes > > From < SqmrServerPayloadForNetwork >
657
+ for SqmrServerPayload < Query , Response >
658
+ {
659
+ fn from ( _query : SqmrServerPayloadForNetwork ) -> Self {
660
+ unimplemented ! ( )
661
+ }
662
+ }
663
+
641
664
#[ allow( dead_code) ]
642
- struct SqmrServerQueryForNetwork {
665
+ struct SqmrServerPayloadForNetwork {
643
666
pub query : Bytes ,
644
667
pub report_sender : oneshot:: Sender < ( ) > ,
645
668
pub responses_sender : GenericSender < Bytes > ,
0 commit comments