feat(network): add server-side facades (#282)

This commit is contained in:
Harper 2023-09-01 13:15:14 +01:00 committed by GitHub
parent f223b0fde9
commit b294f9be01
7 changed files with 206 additions and 41 deletions

View file

@ -11,7 +11,7 @@ async fn setup_passive_muxer<const P: u16>() -> Plexer {
println!("listening for connections on port {}", P);
let (bearer, _) = Bearer::accept_tcp(server).await.unwrap();
let (bearer, _) = Bearer::accept_tcp(&server).await.unwrap();
Plexer::new(bearer)
}

View file

@ -1,17 +1,14 @@
use std::net::{Ipv4Addr, SocketAddrV4};
use std::time::Duration;
use pallas_network::facades::PeerClient;
use pallas_network::facades::{PeerClient, PeerServer};
use pallas_network::miniprotocols::blockfetch::BlockRequest;
use pallas_network::miniprotocols::chainsync::{ClientRequest, HeaderContent, Tip};
use pallas_network::miniprotocols::handshake;
use pallas_network::miniprotocols::handshake::n2n::VersionData;
use pallas_network::miniprotocols::{
blockfetch,
chainsync::{self, NextResponse},
Point,
};
use pallas_network::multiplexer::{Bearer, Plexer};
use tokio::net::TcpListener;
#[tokio::test]
@ -175,21 +172,9 @@ pub async fn blockfetch_server_and_client_happy_path() {
.await
.unwrap();
let (bearer, _) = Bearer::accept_tcp(server_listener).await.unwrap();
let mut peer_server = PeerServer::accept(&server_listener, 0).await.unwrap();
let mut server_plexer = Plexer::new(bearer);
let mut server_hs: handshake::Server<VersionData> =
handshake::Server::new(server_plexer.subscribe_server(0));
let mut server_bf = blockfetch::Server::new(server_plexer.subscribe_server(3));
tokio::spawn(async move { server_plexer.run().await });
server_hs.receive_proposed_versions().await.unwrap();
server_hs
.accept_version(10, VersionData::new(0, false))
.await
.unwrap();
let server_bf = peer_server.blockfetch();
// server receives range from client, sends blocks
@ -278,21 +263,9 @@ pub async fn chainsync_server_and_client_happy_path_n2n() {
.await
.unwrap();
let (bearer, _) = Bearer::accept_tcp(server_listener).await.unwrap();
let mut peer_server = PeerServer::accept(&server_listener, 0).await.unwrap();
let mut server_plexer = Plexer::new(bearer);
let mut server_hs: handshake::Server<VersionData> =
handshake::Server::new(server_plexer.subscribe_server(0));
let mut server_cs = chainsync::N2NServer::new(server_plexer.subscribe_server(2));
tokio::spawn(async move { server_plexer.run().await });
server_hs.receive_proposed_versions().await.unwrap();
server_hs
.accept_version(10, VersionData::new(0, false))
.await
.unwrap();
let server_cs = peer_server.chainsync();
// server receives find intersect from client, sends intersect point
@ -386,7 +359,7 @@ pub async fn chainsync_server_and_client_happy_path_n2n() {
});
let client = tokio::spawn(async move {
tokio::time::sleep(Duration::from_secs(2)).await;
tokio::time::sleep(Duration::from_secs(1)).await;
// client setup