Skip to content

Commit 79aee18

Browse files
authored
Change module structure. (google#122)
* Change `client::{future, sync}, server::{future, sync}` to `future::{client, server}, sync::{client, server}` This reflects the most common usage pattern and allows for some types to not need to be fully qualified when used together (e.g. the previously-named `client::future::Options` and `server::future::Options` can now be `client::Options` and `server::Options`). * sync::client: create a RequestHandler struct to encapsulate logic of processing client requests. The largest benefit is that unit testing becomes easier, e.g. testing that the request processing stops when all request senders are dropped. * Rename Serialize error variants to make sense. * Rename tarpc_service_ConnectFuture__ => Connect (because it's public) * Use tokio proto's ClientProxy. Rather than reimplement the same logic. Curiously, this commit isn't a net loss in LOC. Oh well. * Factor out os-specific functionality in listener() into their own fns * Remove service-fn dep
1 parent f9ff2c4 commit 79aee18

23 files changed

+840
-659
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ description = "An RPC framework for Rust with a focus on ease of use."
1515
travis-ci = { repository = "google/tarpc" }
1616

1717
[dependencies]
18-
bincode = "1.0.0-alpha2"
18+
bincode = "1.0.0-alpha4"
1919
byteorder = "1.0"
2020
cfg-if = "0.1.0"
2121
futures = "0.1.7"

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ extern crate tarpc;
5555

5656
use std::sync::mpsc;
5757
use std::thread;
58-
use tarpc::{client, server};
59-
use tarpc::client::sync::ClientExt;
58+
use tarpc::sync::{client, server};
59+
use tarpc::sync::client::ClientExt;
6060
use tarpc::util::{FirstSocketAddr, Never};
6161

6262
service! {
@@ -109,8 +109,8 @@ extern crate tarpc;
109109
extern crate tokio_core;
110110

111111
use futures::Future;
112-
use tarpc::{client, server};
113-
use tarpc::client::future::ClientExt;
112+
use tarpc::future::{client, server};
113+
use tarpc::future::client::ClientExt;
114114
use tarpc::util::{FirstSocketAddr, Never};
115115
use tokio_core::reactor;
116116

@@ -180,8 +180,9 @@ extern crate tarpc;
180180
extern crate tokio_core;
181181
182182
use futures::Future;
183-
use tarpc::{client, server};
184-
use tarpc::client::future::ClientExt;
183+
use tarpc::future::{client, server};
184+
use tarpc::future::client::ClientExt;
185+
use tarpc::tls;
185186
use tarpc::util::{FirstSocketAddr, Never};
186187
use tokio_core::reactor;
187188
use tarpc::native_tls::{Pkcs12, TlsAcceptor};
@@ -216,7 +217,7 @@ fn main() {
216217
reactor.handle().spawn(server);
217218
let options = client::Options::default()
218219
.handle(reactor.handle())
219-
.tls(client::tls::Context::new("foobar.com").unwrap());
220+
.tls(tls::client::Context::new("foobar.com").unwrap());
220221
reactor.run(FutureClient::connect(handle.addr(), options)
221222
.map_err(tarpc::Error::from)
222223
.and_then(|client| client.hello("Mom".to_string()))

benches/latency.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ extern crate env_logger;
1414
extern crate futures;
1515
extern crate tokio_core;
1616

17-
use tarpc::{client, server};
18-
use tarpc::client::future::ClientExt;
17+
use tarpc::future::{client, server};
18+
use tarpc::future::client::ClientExt;
1919
use tarpc::util::{FirstSocketAddr, Never};
2020
#[cfg(test)]
2121
use test::Bencher;

examples/concurrency.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ use std::{cmp, thread};
2525
use std::sync::{Arc, mpsc};
2626
use std::sync::atomic::{AtomicUsize, Ordering};
2727
use std::time::{Duration, Instant};
28-
use tarpc::{client, server};
29-
use tarpc::client::future::ClientExt;
28+
use tarpc::future::{client, server};
29+
use tarpc::future::client::ClientExt;
3030
use tarpc::util::{FirstSocketAddr, Never};
3131
use tokio_core::reactor;
3232

examples/pubsub.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ use std::rc::Rc;
2121
use std::thread;
2222
use std::time::Duration;
2323
use subscriber::FutureServiceExt as SubscriberExt;
24-
use tarpc::{client, server};
25-
use tarpc::client::future::ClientExt;
24+
use tarpc::future::{client, server};
25+
use tarpc::future::client::ClientExt;
2626
use tarpc::util::{FirstSocketAddr, Message, Never};
2727
use tokio_core::reactor;
2828

@@ -61,7 +61,7 @@ impl Subscriber {
6161
fn listen(id: u32,
6262
handle: &reactor::Handle,
6363
options: server::Options)
64-
-> server::future::Handle {
64+
-> server::Handle {
6565
let (server_handle, server) = Subscriber { id: id }
6666
.listen("localhost:0".first_socket_addr(), handle, options)
6767
.unwrap();

examples/readme_errors.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ use std::error::Error;
1717
use std::fmt;
1818
use std::sync::mpsc;
1919
use std::thread;
20-
use tarpc::{client, server};
21-
use tarpc::client::sync::ClientExt;
20+
use tarpc::sync::{client, server};
21+
use tarpc::sync::client::ClientExt;
2222

2323
service! {
2424
rpc hello(name: String) -> String | NoNameGiven;

examples/readme_futures.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ extern crate tarpc;
1212
extern crate tokio_core;
1313

1414
use futures::Future;
15-
use tarpc::{client, server};
16-
use tarpc::client::future::ClientExt;
15+
use tarpc::future::{client, server};
16+
use tarpc::future::client::ClientExt;
1717
use tarpc::util::{FirstSocketAddr, Never};
1818
use tokio_core::reactor;
1919

examples/readme_sync.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ extern crate tokio_core;
1414

1515
use std::sync::mpsc;
1616
use std::thread;
17-
use tarpc::{client, server};
18-
use tarpc::client::sync::ClientExt;
17+
use tarpc::sync::{client, server};
18+
use tarpc::sync::client::ClientExt;
1919
use tarpc::util::Never;
2020

2121
service! {

examples/server_calling_server.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ extern crate tokio_core;
1515
use add::{FutureService as AddFutureService, FutureServiceExt as AddExt};
1616
use double::{FutureService as DoubleFutureService, FutureServiceExt as DoubleExt};
1717
use futures::{BoxFuture, Future, Stream};
18-
use tarpc::{client, server};
19-
use tarpc::client::future::ClientExt as Fc;
18+
use tarpc::future::{client, server};
19+
use tarpc::future::client::ClientExt as Fc;
2020
use tarpc::util::{FirstSocketAddr, Message, Never};
2121
use tokio_core::reactor;
2222

examples/sync_server_calling_server.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ use add::{SyncService as AddSyncService, SyncServiceExt as AddExt};
1616
use double::{SyncService as DoubleSyncService, SyncServiceExt as DoubleExt};
1717
use std::sync::mpsc;
1818
use std::thread;
19-
use tarpc::{client, server};
20-
use tarpc::client::sync::ClientExt as Fc;
19+
use tarpc::sync::{client, server};
20+
use tarpc::sync::client::ClientExt as Fc;
2121
use tarpc::util::{FirstSocketAddr, Message, Never};
2222

2323
pub mod add {
@@ -69,7 +69,8 @@ fn main() {
6969
let (tx, rx) = mpsc::channel();
7070
thread::spawn(move || {
7171
let handle = AddServer.listen("localhost:0".first_socket_addr(),
72-
server::Options::default()).unwrap();
72+
server::Options::default())
73+
.unwrap();
7374
tx.send(handle.addr()).unwrap();
7475
handle.run();
7576
});
@@ -80,7 +81,8 @@ fn main() {
8081
thread::spawn(move || {
8182
let add_client = add::SyncClient::connect(add, client::Options::default()).unwrap();
8283
let handle = DoubleServer::new(add_client)
83-
.listen("localhost:0".first_socket_addr(), server::Options::default())
84+
.listen("localhost:0".first_socket_addr(),
85+
server::Options::default())
8486
.unwrap();
8587
tx.send(handle.addr()).unwrap();
8688
handle.run();

0 commit comments

Comments
 (0)