refactor(multiplexer): allow multiplexer channels to be sequantially shared

This commit is contained in:
Santiago Carmuega 2021-12-09 06:40:28 -03:00
parent 8ceec768b8
commit 3d4a93441f
9 changed files with 32 additions and 34 deletions

View file

@ -1,6 +1,5 @@
use pallas_chainsync::{ClientConsumer, NoopObserver};
use pallas_handshake::n2c::{Client, VersionTable};
use pallas_handshake::MAINNET_MAGIC;
use pallas_handshake::{MAINNET_MAGIC, n2c::{Client, VersionTable}};
use pallas_machines::primitives::Point;
use pallas_machines::run_agent;
use pallas_multiplexer::Multiplexer;
@ -15,9 +14,9 @@ fn main() {
let mut muxer = Multiplexer::setup(bearer, &vec![0, 4, 5]).unwrap();
let hs_channel = muxer.use_channel(0);
let mut hs_channel = muxer.use_channel(0);
let versions = VersionTable::v1_and_above(MAINNET_MAGIC);
let last = run_agent(Client::initial(versions), hs_channel).unwrap();
let last = run_agent(Client::initial(versions), &mut hs_channel).unwrap();
println!("last hanshake state: {:?}", last);
// some random known-point in the chain to use as starting point for the sync
@ -26,8 +25,8 @@ fn main() {
hex::decode("15b9eeee849dd6386d3770b0745e0450190f7560e5159b1b3ab13b14b2684a45").unwrap(),
)];
let cs_channel = muxer.use_channel(5);
let cs = ClientConsumer::initial(known_points, NoopObserver { });
let cs = run_agent(cs, cs_channel).unwrap();
let mut cs_channel = muxer.use_channel(5);
let cs = ClientConsumer::initial(known_points, NoopObserver {});
let cs = run_agent(cs, &mut cs_channel).unwrap();
println!("{:?}", cs);
}

View file

@ -16,10 +16,10 @@ fn main() {
bearer.set_keepalive_ms(Some(30_000u32)).unwrap();
let mut muxer = Multiplexer::setup(bearer, &vec![0, 2]).unwrap();
let hs_channel = muxer.use_channel(0);
let mut hs_channel = muxer.use_channel(0);
let versions = VersionTable::v4_and_above(MAINNET_MAGIC);
let last = run_agent(Client::initial(versions), hs_channel).unwrap();
let last = run_agent(Client::initial(versions), &mut hs_channel).unwrap();
println!("{:?}", last);
let known_points = vec![Point(
@ -27,10 +27,10 @@ fn main() {
hex::decode("15b9eeee849dd6386d3770b0745e0450190f7560e5159b1b3ab13b14b2684a45").unwrap(),
)];
let cs_channel = muxer.use_channel(2);
let mut cs_channel = muxer.use_channel(2);
let cs = ClientConsumer::initial(known_points, NoopObserver {});
let cs = run_agent(cs, cs_channel).unwrap();
let cs = run_agent(cs, &mut cs_channel).unwrap();
println!("{:?}", cs);
}