@@ -293,15 +293,8 @@ impl<A: ProtocolName, B: ProtocolName> ProtocolName for EitherName<A, B> {
293
293
}
294
294
}
295
295
}
296
- #[ pin_project( project = EitherTransportProj ) ]
297
- #[ derive( Debug ) ]
298
- #[ must_use = "transports do nothing unless polled" ]
299
- pub enum EitherTransport < A , B > {
300
- Left ( #[ pin] A ) ,
301
- Right ( #[ pin] B ) ,
302
- }
303
296
304
- impl < A , B > Transport for EitherTransport < A , B >
297
+ impl < A , B > Transport for Either < A , B >
305
298
where
306
299
B : Transport ,
307
300
A : Transport ,
@@ -315,14 +308,14 @@ where
315
308
self : Pin < & mut Self > ,
316
309
cx : & mut Context < ' _ > ,
317
310
) -> Poll < TransportEvent < Self :: ListenerUpgrade , Self :: Error > > {
318
- match self . project ( ) {
319
- EitherTransportProj :: Left ( a) => match a. poll ( cx) {
311
+ match self . as_pin_mut ( ) {
312
+ Either :: Left ( a) => match a. poll ( cx) {
320
313
Poll :: Pending => Poll :: Pending ,
321
314
Poll :: Ready ( event) => {
322
315
Poll :: Ready ( event. map_upgrade ( EitherFuture :: First ) . map_err ( Either :: Left ) )
323
316
}
324
317
} ,
325
- EitherTransportProj :: Right ( b) => match b. poll ( cx) {
318
+ Either :: Right ( b) => match b. poll ( cx) {
326
319
Poll :: Pending => Poll :: Pending ,
327
320
Poll :: Ready ( event) => Poll :: Ready (
328
321
event
@@ -335,19 +328,19 @@ where
335
328
336
329
fn remove_listener ( & mut self , id : ListenerId ) -> bool {
337
330
match self {
338
- EitherTransport :: Left ( t) => t. remove_listener ( id) ,
339
- EitherTransport :: Right ( t) => t. remove_listener ( id) ,
331
+ Either :: Left ( t) => t. remove_listener ( id) ,
332
+ Either :: Right ( t) => t. remove_listener ( id) ,
340
333
}
341
334
}
342
335
343
336
fn listen_on ( & mut self , addr : Multiaddr ) -> Result < ListenerId , TransportError < Self :: Error > > {
344
337
use TransportError :: * ;
345
338
match self {
346
- EitherTransport :: Left ( a) => a. listen_on ( addr) . map_err ( |e| match e {
339
+ Either :: Left ( a) => a. listen_on ( addr) . map_err ( |e| match e {
347
340
MultiaddrNotSupported ( addr) => MultiaddrNotSupported ( addr) ,
348
341
Other ( err) => Other ( Either :: Left ( err) ) ,
349
342
} ) ,
350
- EitherTransport :: Right ( b) => b. listen_on ( addr) . map_err ( |e| match e {
343
+ Either :: Right ( b) => b. listen_on ( addr) . map_err ( |e| match e {
351
344
MultiaddrNotSupported ( addr) => MultiaddrNotSupported ( addr) ,
352
345
Other ( err) => Other ( Either :: Right ( err) ) ,
353
346
} ) ,
@@ -357,12 +350,12 @@ where
357
350
fn dial ( & mut self , addr : Multiaddr ) -> Result < Self :: Dial , TransportError < Self :: Error > > {
358
351
use TransportError :: * ;
359
352
match self {
360
- EitherTransport :: Left ( a) => match a. dial ( addr) {
353
+ Either :: Left ( a) => match a. dial ( addr) {
361
354
Ok ( connec) => Ok ( EitherFuture :: First ( connec) ) ,
362
355
Err ( MultiaddrNotSupported ( addr) ) => Err ( MultiaddrNotSupported ( addr) ) ,
363
356
Err ( Other ( err) ) => Err ( Other ( Either :: Left ( err) ) ) ,
364
357
} ,
365
- EitherTransport :: Right ( b) => match b. dial ( addr) {
358
+ Either :: Right ( b) => match b. dial ( addr) {
366
359
Ok ( connec) => Ok ( EitherFuture :: Second ( connec) ) ,
367
360
Err ( MultiaddrNotSupported ( addr) ) => Err ( MultiaddrNotSupported ( addr) ) ,
368
361
Err ( Other ( err) ) => Err ( Other ( Either :: Right ( err) ) ) ,
@@ -379,12 +372,12 @@ where
379
372
{
380
373
use TransportError :: * ;
381
374
match self {
382
- EitherTransport :: Left ( a) => match a. dial_as_listener ( addr) {
375
+ Either :: Left ( a) => match a. dial_as_listener ( addr) {
383
376
Ok ( connec) => Ok ( EitherFuture :: First ( connec) ) ,
384
377
Err ( MultiaddrNotSupported ( addr) ) => Err ( MultiaddrNotSupported ( addr) ) ,
385
378
Err ( Other ( err) ) => Err ( Other ( Either :: Left ( err) ) ) ,
386
379
} ,
387
- EitherTransport :: Right ( b) => match b. dial_as_listener ( addr) {
380
+ Either :: Right ( b) => match b. dial_as_listener ( addr) {
388
381
Ok ( connec) => Ok ( EitherFuture :: Second ( connec) ) ,
389
382
Err ( MultiaddrNotSupported ( addr) ) => Err ( MultiaddrNotSupported ( addr) ) ,
390
383
Err ( Other ( err) ) => Err ( Other ( Either :: Right ( err) ) ) ,
@@ -394,8 +387,8 @@ where
394
387
395
388
fn address_translation ( & self , server : & Multiaddr , observed : & Multiaddr ) -> Option < Multiaddr > {
396
389
match self {
397
- EitherTransport :: Left ( a) => a. address_translation ( server, observed) ,
398
- EitherTransport :: Right ( b) => b. address_translation ( server, observed) ,
390
+ Either :: Left ( a) => a. address_translation ( server, observed) ,
391
+ Either :: Right ( b) => b. address_translation ( server, observed) ,
399
392
}
400
393
}
401
394
}
0 commit comments