mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-19 13:01:22 +00:00
Switch to wasm-timer (#1071)
This commit is contained in:
@ -37,6 +37,7 @@ smallvec = "0.6"
|
|||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
tokio-executor = "0.1"
|
tokio-executor = "0.1"
|
||||||
tokio-io = "0.1"
|
tokio-io = "0.1"
|
||||||
|
wasm-timer = "0.1"
|
||||||
|
|
||||||
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dependencies]
|
[target.'cfg(not(any(target_os = "emscripten", target_os = "unknown")))'.dependencies]
|
||||||
libp2p-dns = { version = "0.7.0", path = "./transports/dns" }
|
libp2p-dns = { version = "0.7.0", path = "./transports/dns" }
|
||||||
@ -44,9 +45,6 @@ libp2p-mdns = { version = "0.7.0", path = "./misc/mdns" }
|
|||||||
libp2p-noise = { version = "0.5.0", path = "./protocols/noise" }
|
libp2p-noise = { version = "0.5.0", path = "./protocols/noise" }
|
||||||
libp2p-tcp = { version = "0.7.0", path = "./transports/tcp" }
|
libp2p-tcp = { version = "0.7.0", path = "./transports/tcp" }
|
||||||
|
|
||||||
[target.'cfg(any(target_os = "emscripten", target_os = "unknown"))'.dependencies]
|
|
||||||
stdweb = { version = "0.4", default-features = false }
|
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
env_logger = "0.6.0"
|
env_logger = "0.6.0"
|
||||||
rand = "0.6"
|
rand = "0.6"
|
||||||
|
@ -32,7 +32,7 @@ sha2 = "0.8.0"
|
|||||||
smallvec = "0.6"
|
smallvec = "0.6"
|
||||||
tokio-executor = "0.1.4"
|
tokio-executor = "0.1.4"
|
||||||
tokio-io = "0.1"
|
tokio-io = "0.1"
|
||||||
tokio-timer = "0.2"
|
wasm-timer = "0.1"
|
||||||
unsigned-varint = "0.2"
|
unsigned-varint = "0.2"
|
||||||
void = "1"
|
void = "1"
|
||||||
zeroize = "0.5"
|
zeroize = "0.5"
|
||||||
@ -51,7 +51,7 @@ rand = "0.6"
|
|||||||
quickcheck = "0.8"
|
quickcheck = "0.8"
|
||||||
tokio = "0.1"
|
tokio = "0.1"
|
||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
tokio-timer = "0.2"
|
wasm-timer = "0.1"
|
||||||
assert_matches = "1.3"
|
assert_matches = "1.3"
|
||||||
tokio-mock-task = "0.1"
|
tokio-mock-task = "0.1"
|
||||||
|
|
||||||
|
@ -44,8 +44,9 @@ use crate::upgrade::{
|
|||||||
UpgradeError,
|
UpgradeError,
|
||||||
};
|
};
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
use std::{cmp::Ordering, error, fmt, time::Duration, time::Instant};
|
use std::{cmp::Ordering, error, fmt, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
pub use self::dummy::DummyProtocolsHandler;
|
pub use self::dummy::DummyProtocolsHandler;
|
||||||
pub use self::map_in::MapInEvent;
|
pub use self::map_in::MapInEvent;
|
||||||
|
@ -32,7 +32,7 @@ use crate::{
|
|||||||
};
|
};
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
use std::{error, fmt, time::Duration};
|
use std::{error, fmt, time::Duration};
|
||||||
use tokio_timer::{Delay, Timeout};
|
use wasm_timer::{Delay, Timeout};
|
||||||
|
|
||||||
/// Prototype for a `NodeHandlerWrapper`.
|
/// Prototype for a `NodeHandlerWrapper`.
|
||||||
pub struct NodeHandlerWrapperBuilder<TIntoProtoHandler> {
|
pub struct NodeHandlerWrapperBuilder<TIntoProtoHandler> {
|
||||||
|
@ -25,8 +25,9 @@ use crate::protocols_handler::{
|
|||||||
use crate::upgrade::{InboundUpgrade, OutboundUpgrade};
|
use crate::upgrade::{InboundUpgrade, OutboundUpgrade};
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::{error, marker::PhantomData, time::Duration, time::Instant};
|
use std::{error, marker::PhantomData, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
/// Implementation of `ProtocolsHandler` that opens a new substream for each individual message.
|
/// Implementation of `ProtocolsHandler` that opens a new substream for each individual message.
|
||||||
///
|
///
|
||||||
|
@ -28,8 +28,8 @@ use crate::{Multiaddr, Transport, transport::{TransportError, ListenerEvent}};
|
|||||||
use futures::{try_ready, Async, Future, Poll, Stream};
|
use futures::{try_ready, Async, Future, Poll, Stream};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use std::{error, fmt, time::Duration};
|
use std::{error, fmt, time::Duration};
|
||||||
use tokio_timer::Timeout;
|
use wasm_timer::Timeout;
|
||||||
use tokio_timer::timeout::Error as TimeoutError;
|
use wasm_timer::timeout::Error as TimeoutError;
|
||||||
|
|
||||||
/// A `TransportTimeout` is a `Transport` that wraps another `Transport` and adds
|
/// A `TransportTimeout` is a `Transport` that wraps another `Transport` and adds
|
||||||
/// timeouts to all inbound and outbound connection attempts.
|
/// timeouts to all inbound and outbound connection attempts.
|
||||||
|
@ -29,8 +29,8 @@ use libp2p_core::protocols_handler::{
|
|||||||
ProtocolsHandlerEvent,
|
ProtocolsHandlerEvent,
|
||||||
ProtocolsHandlerUpgrErr
|
ProtocolsHandlerUpgrErr
|
||||||
};
|
};
|
||||||
use std::{io, time::Duration, time::Instant};
|
use std::{io, time::Duration};
|
||||||
use tokio_timer::Delay;
|
use wasm_timer::{Delay, Instant};
|
||||||
|
|
||||||
// TODO: replace with DummyProtocolsHandler after https://github.com/servo/rust-smallvec/issues/139 ?
|
// TODO: replace with DummyProtocolsHandler after https://github.com/servo/rust-smallvec/issues/139 ?
|
||||||
struct TestHandler<TSubstream>(std::marker::PhantomData<TSubstream>);
|
struct TestHandler<TSubstream>(std::marker::PhantomData<TSubstream>);
|
||||||
|
@ -21,7 +21,7 @@ rand = "0.6"
|
|||||||
smallvec = "0.6"
|
smallvec = "0.6"
|
||||||
tokio-io = "0.1"
|
tokio-io = "0.1"
|
||||||
tokio-reactor = "0.1"
|
tokio-reactor = "0.1"
|
||||||
tokio-timer = "0.2"
|
wasm-timer = "0.1"
|
||||||
tokio-udp = "0.1"
|
tokio-udp = "0.1"
|
||||||
void = "1.0"
|
void = "1.0"
|
||||||
|
|
||||||
|
@ -25,9 +25,9 @@ use libp2p_core::protocols_handler::{DummyProtocolsHandler, ProtocolsHandler};
|
|||||||
use libp2p_core::swarm::{ConnectedPoint, NetworkBehaviour, NetworkBehaviourAction, PollParameters};
|
use libp2p_core::swarm::{ConnectedPoint, NetworkBehaviour, NetworkBehaviourAction, PollParameters};
|
||||||
use libp2p_core::{address_translation, Multiaddr, PeerId, multiaddr::Protocol};
|
use libp2p_core::{address_translation, Multiaddr, PeerId, multiaddr::Protocol};
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::{cmp, fmt, io, iter, marker::PhantomData, time::Duration, time::Instant};
|
use std::{cmp, fmt, io, iter, marker::PhantomData, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
use tokio_timer::Delay;
|
use wasm_timer::{Delay, Instant};
|
||||||
|
|
||||||
/// A `NetworkBehaviour` for mDNS. Automatically discovers peers on the local network and adds
|
/// A `NetworkBehaviour` for mDNS. Automatically discovers peers on the local network and adds
|
||||||
/// them to the topology.
|
/// them to the topology.
|
||||||
|
@ -23,9 +23,9 @@ use dns_parser::{Packet, RData};
|
|||||||
use futures::{prelude::*, task};
|
use futures::{prelude::*, task};
|
||||||
use libp2p_core::{Multiaddr, PeerId};
|
use libp2p_core::{Multiaddr, PeerId};
|
||||||
use multiaddr::Protocol;
|
use multiaddr::Protocol;
|
||||||
use std::{fmt, io, net::Ipv4Addr, net::SocketAddr, str, time::Duration, time::Instant};
|
use std::{fmt, io, net::Ipv4Addr, net::SocketAddr, str, time::Duration};
|
||||||
use tokio_reactor::Handle;
|
use tokio_reactor::Handle;
|
||||||
use tokio_timer::Interval;
|
use wasm_timer::{Instant, Interval};
|
||||||
use tokio_udp::UdpSocket;
|
use tokio_udp::UdpSocket;
|
||||||
|
|
||||||
pub use dns::MdnsResponseError;
|
pub use dns::MdnsResponseError;
|
||||||
@ -169,7 +169,7 @@ impl MdnsService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(Async::NotReady) => (),
|
Ok(Async::NotReady) => (),
|
||||||
_ => unreachable!("A tokio_timer::Interval never errors"), // TODO: is that true?
|
_ => unreachable!("A wasm_timer::Interval never errors"), // TODO: is that true?
|
||||||
};
|
};
|
||||||
|
|
||||||
// Flush the send buffer of the main socket.
|
// Flush the send buffer of the main socket.
|
||||||
|
@ -21,7 +21,7 @@ protobuf = "2.3"
|
|||||||
smallvec = "0.6"
|
smallvec = "0.6"
|
||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
tokio-io = "0.1.0"
|
tokio-io = "0.1.0"
|
||||||
tokio-timer = "0.2.6"
|
wasm-timer = "0.1"
|
||||||
unsigned-varint = { version = "0.2.1", features = ["codec"] }
|
unsigned-varint = { version = "0.2.1", features = ["codec"] }
|
||||||
void = "1.0"
|
void = "1.0"
|
||||||
|
|
||||||
|
@ -30,9 +30,9 @@ use libp2p_core::{
|
|||||||
},
|
},
|
||||||
upgrade::{DeniedUpgrade, OutboundUpgrade}
|
upgrade::{DeniedUpgrade, OutboundUpgrade}
|
||||||
};
|
};
|
||||||
use std::{io, marker::PhantomData, time::{Duration, Instant}};
|
use std::{io, marker::PhantomData, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
use tokio_timer::{self, Delay};
|
use wasm_timer::{Delay, Instant};
|
||||||
use void::{Void, unreachable};
|
use void::{Void, unreachable};
|
||||||
|
|
||||||
/// Delay between the moment we connect and the first time we identify.
|
/// Delay between the moment we connect and the first time we identify.
|
||||||
@ -90,7 +90,7 @@ where
|
|||||||
{
|
{
|
||||||
type InEvent = Void;
|
type InEvent = Void;
|
||||||
type OutEvent = PeriodicIdHandlerEvent;
|
type OutEvent = PeriodicIdHandlerEvent;
|
||||||
type Error = tokio_timer::Error;
|
type Error = wasm_timer::Error;
|
||||||
type Substream = TSubstream;
|
type Substream = TSubstream;
|
||||||
type InboundProtocol = DeniedUpgrade;
|
type InboundProtocol = DeniedUpgrade;
|
||||||
type OutboundProtocol = IdentifyProtocolConfig;
|
type OutboundProtocol = IdentifyProtocolConfig;
|
||||||
|
@ -27,7 +27,7 @@ rand = "0.6.0"
|
|||||||
smallvec = "0.6"
|
smallvec = "0.6"
|
||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
tokio-io = "0.1"
|
tokio-io = "0.1"
|
||||||
tokio-timer = "0.2.6"
|
wasm-timer = "0.1"
|
||||||
unsigned-varint = { version = "0.2.1", features = ["codec"] }
|
unsigned-varint = { version = "0.2.1", features = ["codec"] }
|
||||||
void = "1.0"
|
void = "1.0"
|
||||||
|
|
||||||
|
@ -30,9 +30,9 @@ use libp2p_core::swarm::{ConnectedPoint, NetworkBehaviour, NetworkBehaviourActio
|
|||||||
use libp2p_core::{protocols_handler::ProtocolsHandler, Multiaddr, PeerId};
|
use libp2p_core::{protocols_handler::ProtocolsHandler, Multiaddr, PeerId};
|
||||||
use multihash::Multihash;
|
use multihash::Multihash;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::{error, marker::PhantomData, num::NonZeroUsize, time::Duration, time::Instant};
|
use std::{error, marker::PhantomData, num::NonZeroUsize, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
use tokio_timer::Interval;
|
use wasm_timer::{Instant, Interval};
|
||||||
|
|
||||||
mod test;
|
mod test;
|
||||||
|
|
||||||
|
@ -32,8 +32,9 @@ use libp2p_core::protocols_handler::{
|
|||||||
};
|
};
|
||||||
use libp2p_core::{upgrade, either::EitherOutput, InboundUpgrade, OutboundUpgrade, PeerId, upgrade::Negotiated};
|
use libp2p_core::{upgrade, either::EitherOutput, InboundUpgrade, OutboundUpgrade, PeerId, upgrade::Negotiated};
|
||||||
use multihash::Multihash;
|
use multihash::Multihash;
|
||||||
use std::{error, fmt, io, time::Duration, time::Instant};
|
use std::{error, fmt, io, time::Duration};
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
/// Protocol handler that handles Kademlia communications with the remote.
|
/// Protocol handler that handles Kademlia communications with the remote.
|
||||||
///
|
///
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
use crate::kbucket::KBucketsPeerId;
|
use crate::kbucket::KBucketsPeerId;
|
||||||
use futures::prelude::*;
|
use futures::prelude::*;
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
use std::{cmp::PartialEq, time::Duration, time::Instant};
|
use std::{cmp::PartialEq, time::Duration};
|
||||||
use tokio_timer::Delay;
|
use wasm_timer::{Delay, Instant};
|
||||||
|
|
||||||
/// State of a query iterative process.
|
/// State of a query iterative process.
|
||||||
///
|
///
|
||||||
|
@ -20,7 +20,7 @@ parking_lot = "0.7"
|
|||||||
rand = "0.6"
|
rand = "0.6"
|
||||||
tokio-codec = "0.1"
|
tokio-codec = "0.1"
|
||||||
tokio-io = "0.1"
|
tokio-io = "0.1"
|
||||||
tokio-timer = "0.2.6"
|
wasm-timer = "0.1"
|
||||||
void = "1.0"
|
void = "1.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
@ -27,10 +27,10 @@ use libp2p_core::protocols_handler::{
|
|||||||
ProtocolsHandler,
|
ProtocolsHandler,
|
||||||
ProtocolsHandlerUpgrErr,
|
ProtocolsHandlerUpgrErr,
|
||||||
};
|
};
|
||||||
use std::{error::Error, io, fmt, num::NonZeroU32, time::{Duration, Instant}};
|
use std::{error::Error, io, fmt, num::NonZeroU32, time::Duration};
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use tokio_io::{AsyncRead, AsyncWrite};
|
use tokio_io::{AsyncRead, AsyncWrite};
|
||||||
use tokio_timer::Delay;
|
use wasm_timer::{Delay, Instant};
|
||||||
use void::Void;
|
use void::Void;
|
||||||
|
|
||||||
/// The configuration for outbound pings.
|
/// The configuration for outbound pings.
|
||||||
|
@ -22,8 +22,9 @@ use futures::{prelude::*, future, try_ready};
|
|||||||
use libp2p_core::{InboundUpgrade, OutboundUpgrade, UpgradeInfo, upgrade::Negotiated};
|
use libp2p_core::{InboundUpgrade, OutboundUpgrade, UpgradeInfo, upgrade::Negotiated};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use rand::{distributions, prelude::*};
|
use rand::{distributions, prelude::*};
|
||||||
use std::{io, iter, time::Duration, time::Instant};
|
use std::{io, iter, time::Duration};
|
||||||
use tokio_io::{io as nio, AsyncRead, AsyncWrite};
|
use tokio_io::{io as nio, AsyncRead, AsyncWrite};
|
||||||
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
/// Represents a prototype for an upgrade to handle the ping protocol.
|
/// Represents a prototype for an upgrade to handle the ping protocol.
|
||||||
///
|
///
|
||||||
|
@ -23,7 +23,8 @@ use futures::{prelude::*, try_ready};
|
|||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use smallvec::{smallvec, SmallVec};
|
use smallvec::{smallvec, SmallVec};
|
||||||
use std::{cmp, io, io::Read, io::Write, sync::Arc, time::Duration, time::Instant};
|
use std::{cmp, io, io::Read, io::Write, sync::Arc, time::Duration};
|
||||||
|
use wasm_timer::Instant;
|
||||||
|
|
||||||
/// Wraps around a `Transport` and logs the bandwidth that goes through all the opened connections.
|
/// Wraps around a `Transport` and logs the bandwidth that goes through all the opened connections.
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
|
Reference in New Issue
Block a user