mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-09 20:59:23 +00:00
18 lines
736 B
Rust
18 lines
736 B
Rust
|
|
use core::time::Duration;
|
||
|
|
|
||
|
|
use tributary::tendermint::LATENCY_TIME;
|
||
|
|
|
||
|
|
use libp2p::ping::{self, Config, Behaviour};
|
||
|
|
pub use ping::Event;
|
||
|
|
|
||
|
|
pub(crate) const INTERVAL: Duration = Duration::from_secs(30);
|
||
|
|
// LATENCY_TIME represents the maximum latency for message delivery. Sending the ping, and
|
||
|
|
// receiving the pong, each have to occur within this time bound to validate the connection. We
|
||
|
|
// enforce that, as best we can, by requiring the round-trip be within twice the allowed latency.
|
||
|
|
pub(crate) const TIMEOUT: Duration = Duration::from_millis((2 * LATENCY_TIME) as u64);
|
||
|
|
|
||
|
|
pub(crate) type Behavior = Behaviour;
|
||
|
|
pub(crate) fn new_behavior() -> Behavior {
|
||
|
|
Behavior::new(Config::default().with_interval(INTERVAL).with_timeout(TIMEOUT))
|
||
|
|
}
|