Merge pull request #9 from jaensen/pr/listen_at

use a 'listen_at' argument (e.g. 0.0.0.0:1234) instead of only a 'por…
This commit is contained in:
chriseth 2022-12-28 23:58:35 +01:00 committed by GitHub
commit ef4a435b48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 11 deletions

View file

@ -16,7 +16,7 @@ https://chriseth.github.io/pathfinder2/edges.dat
#### Using the Server
`cargo run --release <port>` will start a JSON-RPC server listening on the given port.
`cargo run --release <ip-address>:<port>` will start a JSON-RPC server listening on the given port.
It implements the interface specified in https://hackmd.io/Gg04t7gjQKeDW2Q6Jchp0Q

View file

@ -3,10 +3,6 @@ use std::env;
use pathfinder2::server;
fn main() {
let port = if env::args().len() == 1 {
8080
} else {
env::args().nth(1).unwrap().as_str().parse::<u16>().unwrap()
};
server::start_server(port, 10, 4);
let listen_at = env::args().nth(1).unwrap_or("127.0.0.1:8080".to_string());
server::start_server(&listen_at, 10, 4);
}

View file

@ -18,7 +18,7 @@ struct JsonRpcRequest {
params: JsonValue,
}
pub fn start_server(port: u16, queue_size: usize, threads: u64) {
pub fn start_server(listen_at: &str, queue_size: usize, threads: u64) {
let edges: Arc<RwLock<Arc<EdgeDB>>> = Arc::new(RwLock::new(Arc::new(EdgeDB::default())));
let (sender, receiver) = mpsc::sync_channel(queue_size);
@ -33,8 +33,7 @@ pub fn start_server(port: u16, queue_size: usize, threads: u64) {
}
});
}
let listener =
TcpListener::bind(format!("127.0.0.1:{port}")).expect("Could not create server.");
let listener = TcpListener::bind(listen_at).expect("Could not create server.");
loop {
match listener.accept() {
Ok((socket, _)) => match sender.try_send(socket) {