mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
aquatic: improve naming of socket workers, request workers
This commit is contained in:
parent
f8713c09c1
commit
140aa4b75d
4 changed files with 23 additions and 8 deletions
|
|
@ -5,9 +5,13 @@ use serde::{Serialize, Deserialize};
|
|||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct Config {
|
||||
/// Spawn this number of threads for workers
|
||||
/// Socket workers receive requests from the socket, parse them and send
|
||||
/// them on to the request workers. They then recieve responses from the
|
||||
/// request workers, encode them and send them back over the socket.
|
||||
pub socket_workers: usize,
|
||||
pub response_workers: usize,
|
||||
/// Request workers receive a number of requests from socket workers,
|
||||
/// generate responses and send them back to the socket workers.
|
||||
pub request_workers: usize,
|
||||
pub network: NetworkConfig,
|
||||
pub handlers: HandlerConfig,
|
||||
pub statistics: StatisticsConfig,
|
||||
|
|
@ -62,7 +66,7 @@ impl Default for Config {
|
|||
fn default() -> Self {
|
||||
Self {
|
||||
socket_workers: 1,
|
||||
response_workers: 1,
|
||||
request_workers: 1,
|
||||
network: NetworkConfig::default(),
|
||||
handlers: HandlerConfig::default(),
|
||||
statistics: StatisticsConfig::default(),
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ use crate::common::*;
|
|||
use crate::config::Config;
|
||||
|
||||
|
||||
pub fn handle(
|
||||
pub fn run_request_worker(
|
||||
state: State,
|
||||
config: Config,
|
||||
request_receiver: Receiver<(Request, SocketAddr)>,
|
||||
|
|
|
|||
|
|
@ -18,14 +18,19 @@ pub fn run(config: Config){
|
|||
let (request_sender, request_receiver) = unbounded();
|
||||
let (response_sender, response_receiver) = unbounded();
|
||||
|
||||
for _ in 0..config.response_workers {
|
||||
for _ in 0..config.request_workers {
|
||||
let state = state.clone();
|
||||
let config = config.clone();
|
||||
let request_receiver = request_receiver.clone();
|
||||
let response_sender = response_sender.clone();
|
||||
|
||||
::std::thread::spawn(move || {
|
||||
handlers::handle(state, config, request_receiver, response_sender);
|
||||
handlers::run_request_worker(
|
||||
state,
|
||||
config,
|
||||
request_receiver,
|
||||
response_sender
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -36,7 +41,13 @@ pub fn run(config: Config){
|
|||
let response_receiver = response_receiver.clone();
|
||||
|
||||
::std::thread::spawn(move || {
|
||||
network::run_event_loop(state, config, i, request_sender, response_receiver);
|
||||
network::run_socket_worker(
|
||||
state,
|
||||
config,
|
||||
i,
|
||||
request_sender,
|
||||
response_receiver
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ use crate::common::*;
|
|||
use crate::config::Config;
|
||||
|
||||
|
||||
pub fn run_event_loop(
|
||||
pub fn run_socket_worker(
|
||||
state: State,
|
||||
config: Config,
|
||||
token_num: usize,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue