mirror of
https://github.com/OMGeeky/tarpc.git
synced 2026-01-08 20:42:42 +01:00
Move generic bounds to where clause
This commit is contained in:
@@ -18,8 +18,9 @@ use transport::{Dialer, Stream};
|
||||
use transport::tcp::TcpDialer;
|
||||
|
||||
/// A client stub that connects to a server to run rpcs.
|
||||
pub struct Client<Request, Reply, S: Stream>
|
||||
where Request: serde::ser::Serialize
|
||||
pub struct Client<Request, Reply, S>
|
||||
where Request: serde::ser::Serialize,
|
||||
S: Stream,
|
||||
{
|
||||
// The guard is in an option so it can be joined in the drop fn
|
||||
reader_guard: Arc<Option<thread::JoinHandle<()>>>,
|
||||
@@ -40,9 +41,10 @@ impl<Request, Reply> Client<Request, Reply, TcpStream>
|
||||
}
|
||||
}
|
||||
|
||||
impl<Request, Reply, S: Stream> Client<Request, Reply, S>
|
||||
impl<Request, Reply, S> Client<Request, Reply, S>
|
||||
where Request: serde::ser::Serialize + Send + 'static,
|
||||
Reply: serde::de::Deserialize + Send + 'static
|
||||
Reply: serde::de::Deserialize + Send + 'static,
|
||||
S: Stream,
|
||||
{
|
||||
/// Create a new client that connects to `addr`. The client uses the given timeout
|
||||
/// for both reads and writes.
|
||||
@@ -107,8 +109,9 @@ impl<Request, Reply, S: Stream> Client<Request, Reply, S>
|
||||
}
|
||||
}
|
||||
|
||||
impl<Request, Reply, S: Stream> Drop for Client<Request, Reply, S>
|
||||
where Request: serde::ser::Serialize
|
||||
impl<Request, Reply, S> Drop for Client<Request, Reply, S>
|
||||
where Request: serde::ser::Serialize,
|
||||
S: Stream,
|
||||
{
|
||||
fn drop(&mut self) {
|
||||
debug!("Dropping Client.");
|
||||
@@ -195,11 +198,12 @@ impl<Reply> RpcFutures<Reply> {
|
||||
}
|
||||
}
|
||||
|
||||
fn write<Request, Reply, S: Stream>(outbound: Receiver<(Request, Sender<Result<Reply>>)>,
|
||||
fn write<Request, Reply, S>(outbound: Receiver<(Request, Sender<Result<Reply>>)>,
|
||||
requests: Arc<Mutex<RpcFutures<Reply>>>,
|
||||
stream: S)
|
||||
where Request: serde::Serialize,
|
||||
Reply: serde::Deserialize
|
||||
Reply: serde::Deserialize,
|
||||
S: Stream,
|
||||
{
|
||||
let mut next_id = 0;
|
||||
let mut stream = BufWriter::new(stream);
|
||||
@@ -248,8 +252,9 @@ fn write<Request, Reply, S: Stream>(outbound: Receiver<(Request, Sender<Result<R
|
||||
|
||||
}
|
||||
|
||||
fn read<Reply, S: Stream>(requests: Arc<Mutex<RpcFutures<Reply>>>, stream: S)
|
||||
where Reply: serde::Deserialize
|
||||
fn read<Reply, S>(requests: Arc<Mutex<RpcFutures<Reply>>>, stream: S)
|
||||
where Reply: serde::Deserialize,
|
||||
S: Stream,
|
||||
{
|
||||
let mut stream = BufReader::new(stream);
|
||||
loop {
|
||||
|
||||
Reference in New Issue
Block a user