Remove redundant loop (#1176)

This commit is contained in:
Age Manning 2019-06-18 18:42:40 +10:00 committed by Pierre Krieger
parent b6378ac526
commit f6ce1e6b3a

View File

@ -209,41 +209,38 @@ where
} }
fn poll(&mut self) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent>, Self::Error> { fn poll(&mut self) -> Poll<ProtocolsHandlerEvent<Self::OutboundProtocol, Self::OutboundOpenInfo, Self::OutEvent>, Self::Error> {
loop {
match self.proto1.poll().map_err(EitherError::A)? {
Async::Ready(ProtocolsHandlerEvent::Custom(event)) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::Custom(EitherOutput::First(event))));
},
Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol,
info,
}) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol: protocol.map_upgrade(EitherUpgrade::A),
info: EitherOutput::First(info),
}));
},
Async::NotReady => ()
};
match self.proto2.poll().map_err(EitherError::B)? { match self.proto1.poll().map_err(EitherError::A)? {
Async::Ready(ProtocolsHandlerEvent::Custom(event)) => { Async::Ready(ProtocolsHandlerEvent::Custom(event)) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::Custom(EitherOutput::Second(event)))); return Ok(Async::Ready(ProtocolsHandlerEvent::Custom(EitherOutput::First(event))));
}, },
Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest { Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol, protocol,
info, info,
}) => { }) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest { return Ok(Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol: protocol.map_upgrade(EitherUpgrade::B), protocol: protocol.map_upgrade(EitherUpgrade::A),
info: EitherOutput::Second(info), info: EitherOutput::First(info),
})); }));
}, },
Async::NotReady => () Async::NotReady => ()
}; };
break; match self.proto2.poll().map_err(EitherError::B)? {
} Async::Ready(ProtocolsHandlerEvent::Custom(event)) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::Custom(EitherOutput::Second(event))));
},
Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol,
info,
}) => {
return Ok(Async::Ready(ProtocolsHandlerEvent::OutboundSubstreamRequest {
protocol: protocol.map_upgrade(EitherUpgrade::B),
info: EitherOutput::Second(info),
}));
},
Async::NotReady => ()
};
Ok(Async::NotReady) Ok(Async::NotReady)
} }