1
1
use futures:: { Async , Poll , Stream } ;
2
2
use futures:: sync:: { mpsc, oneshot} ;
3
+ use want;
3
4
4
5
use common:: Never ;
5
- use super :: signal;
6
6
7
7
//pub type Callback<T, U> = oneshot::Sender<Result<U, (::Error, Option<T>)>>;
8
8
pub type RetryPromise < T , U > = oneshot:: Receiver < Result < U , ( :: Error , Option < T > ) > > ;
9
9
pub type Promise < T > = oneshot:: Receiver < Result < T , :: Error > > ;
10
10
11
11
pub fn channel < T , U > ( ) -> ( Sender < T , U > , Receiver < T , U > ) {
12
12
let ( tx, rx) = mpsc:: channel ( 0 ) ;
13
- let ( giver, taker) = signal :: new ( ) ;
13
+ let ( giver, taker) = want :: new ( ) ;
14
14
let tx = Sender {
15
15
giver : giver,
16
16
inner : tx,
@@ -27,7 +27,7 @@ pub struct Sender<T, U> {
27
27
// when the queue is empty. This helps us know when a request and
28
28
// response have been fully processed, and a connection is ready
29
29
// for more.
30
- giver : signal :: Giver ,
30
+ giver : want :: Giver ,
31
31
//inner: mpsc::Sender<(T, Callback<T, U>)>,
32
32
inner : mpsc:: Sender < Envelope < T , U > > ,
33
33
}
@@ -68,7 +68,7 @@ impl<T, U> Sender<T, U> {
68
68
pub struct Receiver < T , U > {
69
69
//inner: mpsc::Receiver<(T, Callback<T, U>)>,
70
70
inner : mpsc:: Receiver < Envelope < T , U > > ,
71
- taker : signal :: Taker ,
71
+ taker : want :: Taker ,
72
72
}
73
73
74
74
impl < T , U > Stream for Receiver < T , U > {
@@ -229,7 +229,7 @@ mod tests {
229
229
#[ cfg( feature = "nightly" ) ]
230
230
#[ bench]
231
231
fn giver_queue_cancel ( b : & mut test:: Bencher ) {
232
- let ( _tx, rx) = super :: channel :: < i32 , ( ) > ( ) ;
232
+ let ( _tx, mut rx) = super :: channel :: < i32 , ( ) > ( ) ;
233
233
234
234
b. iter ( move || {
235
235
rx. taker . cancel ( ) ;
0 commit comments