summaryrefslogtreecommitdiff
path: root/test/rs/src/bin/test_server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'test/rs/src/bin/test_server.rs')
-rw-r--r--test/rs/src/bin/test_server.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/test/rs/src/bin/test_server.rs b/test/rs/src/bin/test_server.rs
index 6a05e79e5..7e6d08f1c 100644
--- a/test/rs/src/bin/test_server.rs
+++ b/test/rs/src/bin/test_server.rs
@@ -52,7 +52,6 @@ fn main() {
fn run() -> thrift::Result<()> {
// unsupported options:
- // --domain-socket
// --pipe
// --ssl
let matches = clap_app!(rust_test_client =>
@@ -60,21 +59,26 @@ fn run() -> thrift::Result<()> {
(author: "Apache Thrift Developers <dev@thrift.apache.org>")
(about: "Rust Thrift test server")
(@arg port: --port +takes_value "port on which the test server listens")
+ (@arg domain_socket: --("domain-socket") +takes_value "Unix Domain Socket on which the test server listens")
(@arg transport: --transport +takes_value "transport implementation to use (\"buffered\", \"framed\")")
(@arg protocol: --protocol +takes_value "protocol implementation to use (\"binary\", \"compact\")")
- (@arg server_type: --server_type +takes_value "type of server instantiated (\"simple\", \"thread-pool\")")
+ (@arg server_type: --("server-type") +takes_value "type of server instantiated (\"simple\", \"thread-pool\")")
(@arg workers: -n --workers +takes_value "number of thread-pool workers (\"4\")")
)
- .get_matches();
+ .get_matches();
let port = value_t!(matches, "port", u16).unwrap_or(9090);
+ let domain_socket = matches.value_of("domain_socket");
let transport = matches.value_of("transport").unwrap_or("buffered");
let protocol = matches.value_of("protocol").unwrap_or("binary");
let server_type = matches.value_of("server_type").unwrap_or("thread-pool");
let workers = value_t!(matches, "workers", usize).unwrap_or(4);
let listen_address = format!("127.0.0.1:{}", port);
- info!("binding to {}", listen_address);
+ match domain_socket {
+ None => info!("Server is binding to {}", listen_address),
+ Some(domain_socket) => info!("Server is binding to {} (UDS)", domain_socket),
+ }
let (i_transport_factory, o_transport_factory): (
Box<dyn TReadTransportFactory>,
@@ -135,7 +139,10 @@ fn run() -> thrift::Result<()> {
workers,
);
- server.listen(&listen_address)
+ match domain_socket {
+ None => server.listen(&listen_address),
+ Some(domain_socket) => server.listen_uds(domain_socket),
+ }
} else {
let mut server = TServer::new(
i_transport_factory,
@@ -146,9 +153,13 @@ fn run() -> thrift::Result<()> {
workers,
);
- server.listen(&listen_address)
+ match domain_socket {
+ None => server.listen(&listen_address),
+ Some(domain_socket) => server.listen_uds(domain_socket),
+ }
}
}
+
unknown => Err(format!("unsupported server type {}", unknown).into()),
}
}