Remove tokio dependency from serai-coordinator-p2p

Re-implements tokio::mpsc::oneshot with a thin wrapper around async-channel.

Also replaces futures-util with futures-lite.
This commit is contained in:
Luke Parker
2025-01-09 02:16:05 -05:00
parent 9833911e06
commit 201a444e89
8 changed files with 73 additions and 22 deletions

View File

@@ -19,7 +19,7 @@ use serai_client::{
Serai,
};
use tokio::sync::{mpsc, oneshot, Mutex, RwLock};
use tokio::sync::{mpsc, Mutex, RwLock};
use serai_task::{Task, ContinuallyRan};
@@ -35,7 +35,7 @@ use libp2p::{
SwarmBuilder,
};
use serai_coordinator_p2p::{Heartbeat, TributaryBlockWithCommit};
use serai_coordinator_p2p::{oneshot, Heartbeat, TributaryBlockWithCommit};
/// A struct to sync the validators from the Serai node in order to keep track of them.
mod validators;

View File

@@ -8,7 +8,7 @@ use borsh::BorshDeserialize;
use serai_client::validator_sets::primitives::ValidatorSet;
use tokio::sync::{mpsc, oneshot, RwLock};
use tokio::sync::{mpsc, RwLock};
use serai_task::TaskHandle;
@@ -21,7 +21,7 @@ use libp2p::{
swarm::{dial_opts::DialOpts, SwarmEvent, Swarm},
};
use serai_coordinator_p2p::Heartbeat;
use serai_coordinator_p2p::{oneshot, Heartbeat};
use crate::{
Peers, BehaviorEvent, Behavior,