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 #### 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 It implements the interface specified in https://hackmd.io/Gg04t7gjQKeDW2Q6Jchp0Q
@ -57,4 +57,4 @@ Example:
`cargo run --bin convert --safes-json safes.json --edges-bin edges.dat` `cargo run --bin convert --safes-json safes.json --edges-bin edges.dat`
Converts a safe json file called `safes.json` into a binary edge database file called `edges.dat`. Converts a safe json file called `safes.json` into a binary edge database file called `edges.dat`.

View file

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

View file

@ -18,7 +18,7 @@ struct JsonRpcRequest {
params: JsonValue, 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 edges: Arc<RwLock<Arc<EdgeDB>>> = Arc::new(RwLock::new(Arc::new(EdgeDB::default())));
let (sender, receiver) = mpsc::sync_channel(queue_size); 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 = let listener = TcpListener::bind(listen_at).expect("Could not create server.");
TcpListener::bind(format!("127.0.0.1:{port}")).expect("Could not create server.");
loop { loop {
match listener.accept() { match listener.accept() {
Ok((socket, _)) => match sender.try_send(socket) { Ok((socket, _)) => match sender.try_send(socket) {