aquatic_udp: use mesh in glommio version

This commit is contained in:
Joakim Frostegård 2021-10-19 01:01:10 +02:00
parent f28808b30c
commit 4a8651e1c6
6 changed files with 100 additions and 43 deletions

View file

@ -1,2 +1,34 @@
use std::sync::{atomic::AtomicUsize, Arc};
use glommio::channels::channel_mesh::MeshBuilder;
use crate::config::Config;
pub mod handlers;
pub mod network;
fn start_workers(config: Config) {
let num_peers = config.socket_workers + config.request_workers;
let request_mesh_builder = MeshBuilder::partial(num_peers, 1024);
let response_mesh_builder = MeshBuilder::partial(num_peers, 1024);
let num_bound_sockets = Arc::new(AtomicUsize::new(0));
for _ in 0..(config.socket_workers) {
network::run_socket_worker(
config.clone(),
request_mesh_builder.clone(),
response_mesh_builder.clone(),
num_bound_sockets.clone(),
);
}
for _ in 0..(config.request_workers) {
handlers::run_request_worker(
config.clone(),
request_mesh_builder.clone(),
response_mesh_builder.clone(),
);
}
}