Update to fixed `io-reactor` timer

This commit is contained in:
Dr Maxim Orlovsky 2023-02-20 21:58:42 +01:00 committed by Alexis Sellier
parent e584bd6c1c
commit 158f1ff7fa
4 changed files with 11 additions and 11 deletions

4
Cargo.lock generated
View File

@ -1215,9 +1215,9 @@ dependencies = [
[[package]]
name = "io-reactor"
version = "0.1.0"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "790a9f1564a15864f28605fb0613dee98c8ebeee0ace7a5c76c2118f0e202f78"
checksum = "c5673e46c1201c1d8778cef314a91a6072b9f2f5fa4b426eb9a929236c3901b1"
dependencies = [
"amplify",
"crossbeam-channel",

View File

@ -19,7 +19,7 @@ crossbeam-channel = { version = "0.5.6" }
cyphernet = { version = "0.2.0", features = ["tor", "dns", "ed25519", "p2p-ed25519"] }
fastrand = { version = "1.8.0" }
git-ref-format = { version = "0.2", features = ["serde", "macro"] }
io-reactor = { version = "0.1.0", features = ["popol"] }
io-reactor = { version = "0.1.1", features = ["popol"] }
lexopt = { version = "0.2.1" }
libc = { version = "0.2.137" }
log = { version = "0.4.17", features = ["std"] }

View File

@ -379,7 +379,7 @@ where
pub fn wake(&mut self) {
let now = self.clock;
trace!("Wake +{}", now - self.start_time);
trace!(target: "service", "Wake +{}", now - self.start_time);
if now - self.last_idle >= IDLE_INTERVAL {
debug!(target: "service", "Running 'idle' task...");

View File

@ -6,7 +6,6 @@ use std::collections::VecDeque;
use std::os::unix::io::AsRawFd;
use std::os::unix::prelude::RawFd;
use std::sync::Arc;
use std::time::{Duration, SystemTime};
use std::{fmt, io, net};
use amplify::Wrapper as _;
@ -19,6 +18,7 @@ use localtime::LocalTime;
use netservices::resource::{ListenerEvent, NetAccept, NetTransport, SessionEvent};
use netservices::session::{ProtocolArtifact, Socks5Session};
use netservices::{NetConnection, NetProtocol, NetReader, NetSession, NetWriter};
use reactor::Timestamp;
use radicle::collections::HashMap;
use radicle::node::NodeId;
@ -416,20 +416,20 @@ where
type Transport = NetTransport<WireSession<G>>;
type Command = Control<G>;
fn tick(&mut self, _time: Duration) {
// FIXME: Change this once a proper timestamp is passed into the function.
self.service.tick(LocalTime::from(SystemTime::now()));
fn tick(&mut self, time: Timestamp) {
// TODO: Use millisecond precision.
self.service.tick(LocalTime::from_secs(time.as_secs()));
}
fn handle_timer(&mut self) {
self.service.wake()
self.service.wake();
}
fn handle_listener_event(
&mut self,
socket_addr: net::SocketAddr,
event: ListenerEvent<WireSession<G>>,
_: Duration,
_: Timestamp,
) {
match event {
ListenerEvent::Accepted(connection) => {
@ -462,7 +462,7 @@ where
&mut self,
fd: RawFd,
event: SessionEvent<WireSession<G>>,
_: Duration,
_: Timestamp,
) {
match event {
SessionEvent::Established(ProtocolArtifact { state, .. }) => {