mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-27 00:31:35 +00:00
Implement Send everywhere (#458)
This commit is contained in:
@ -64,18 +64,21 @@ pub struct LoopUpg<Inner> {
|
||||
impl<State, Socket, Inner, Out, AddrFut> ConnectionUpgrade<(State, Socket), AddrFut>
|
||||
for LoopUpg<Inner>
|
||||
where
|
||||
State: 'static,
|
||||
Socket: AsyncRead + AsyncWrite + 'static,
|
||||
State: Send + 'static,
|
||||
Socket: AsyncRead + AsyncWrite + Send + 'static,
|
||||
Inner: ConnectionUpgrade<
|
||||
(State, Socket),
|
||||
AddrFut,
|
||||
Output = Loop<State, Socket, Out>,
|
||||
MultiaddrFuture = AddrFut,
|
||||
> + Clone
|
||||
+ Send
|
||||
+ 'static,
|
||||
Inner::NamesIter: Clone + 'static,
|
||||
AddrFut: 'static,
|
||||
Out: 'static,
|
||||
Inner::NamesIter: Clone + Send + 'static,
|
||||
Inner::UpgradeIdentifier: Send,
|
||||
Inner::Future: Send,
|
||||
AddrFut: Send + 'static,
|
||||
Out: Send + 'static,
|
||||
{
|
||||
type NamesIter = Inner::NamesIter;
|
||||
type UpgradeIdentifier = Inner::UpgradeIdentifier;
|
||||
@ -86,7 +89,7 @@ where
|
||||
|
||||
type Output = Out;
|
||||
type MultiaddrFuture = AddrFut;
|
||||
type Future = Box<Future<Item = (Out, Self::MultiaddrFuture), Error = IoError>>;
|
||||
type Future = Box<Future<Item = (Out, Self::MultiaddrFuture), Error = IoError> + Send>;
|
||||
|
||||
fn upgrade(
|
||||
self,
|
||||
|
@ -39,9 +39,9 @@ pub struct Map<U, F> {
|
||||
impl<C, U, F, O, Maf> ConnectionUpgrade<C, Maf> for Map<U, F>
|
||||
where
|
||||
U: ConnectionUpgrade<C, Maf>,
|
||||
U::Future: 'static, // TODO: 'static :(
|
||||
U::Future: Send + 'static, // TODO: 'static :(
|
||||
C: AsyncRead + AsyncWrite,
|
||||
F: FnOnce(U::Output) -> O + 'static, // TODO: 'static :(
|
||||
F: FnOnce(U::Output) -> O + Send + 'static, // TODO: 'static :(
|
||||
{
|
||||
type NamesIter = U::NamesIter;
|
||||
type UpgradeIdentifier = U::UpgradeIdentifier;
|
||||
@ -52,7 +52,7 @@ where
|
||||
|
||||
type Output = O;
|
||||
type MultiaddrFuture = U::MultiaddrFuture;
|
||||
type Future = Box<Future<Item = (O, Self::MultiaddrFuture), Error = IoError>>;
|
||||
type Future = Box<Future<Item = (O, Self::MultiaddrFuture), Error = IoError> + Send>;
|
||||
|
||||
fn upgrade(
|
||||
self,
|
||||
|
@ -42,11 +42,11 @@ pub struct MapAddr<U, F> {
|
||||
impl<C, U, F, O, Maf> ConnectionUpgrade<C, Maf> for MapAddr<U, F>
|
||||
where
|
||||
U: ConnectionUpgrade<C, Maf>,
|
||||
U::Future: 'static, // TODO: 'static :(
|
||||
U::MultiaddrFuture: Future<Item = Multiaddr, Error = IoError> + 'static, // TODO: 'static :(
|
||||
U::Output: 'static, // TODO: 'static :(
|
||||
U::Future: Send + 'static, // TODO: 'static :(
|
||||
U::MultiaddrFuture: Future<Item = Multiaddr, Error = IoError> + Send + 'static, // TODO: 'static :(
|
||||
U::Output: Send + 'static, // TODO: 'static :(
|
||||
C: AsyncRead + AsyncWrite,
|
||||
F: FnOnce(U::Output, &Multiaddr) -> O + 'static, // TODO: 'static :(
|
||||
F: FnOnce(U::Output, &Multiaddr) -> O + Send + 'static, // TODO: 'static :(
|
||||
{
|
||||
type NamesIter = U::NamesIter;
|
||||
type UpgradeIdentifier = U::UpgradeIdentifier;
|
||||
@ -57,7 +57,7 @@ where
|
||||
|
||||
type Output = O;
|
||||
type MultiaddrFuture = future::FutureResult<Multiaddr, IoError>;
|
||||
type Future = Box<Future<Item = (O, Self::MultiaddrFuture), Error = IoError>>;
|
||||
type Future = Box<Future<Item = (O, Self::MultiaddrFuture), Error = IoError> + Send>;
|
||||
|
||||
fn upgrade(
|
||||
self,
|
||||
|
Reference in New Issue
Block a user