feat(net): remove mut requirement for NetworkConnector.connect()
BREAKING CHANGE: Any custom Connectors will need to change to &self in the connect method. Any Connectors that needed the mutablity need to figure out a synchronization strategy. Request::with_connector() takes a &NetworkConnector instead of &mut. Any uses of with_connector will need to change to passing &C.
This commit is contained in:
@@ -98,7 +98,7 @@ impl<S> PoolImpl<S> {
|
||||
|
||||
impl<C: NetworkConnector<Stream=S>, S: NetworkStream + Send> NetworkConnector for Pool<C> {
|
||||
type Stream = PooledStream<S>;
|
||||
fn connect(&mut self, host: &str, port: u16, scheme: &str) -> ::Result<PooledStream<S>> {
|
||||
fn connect(&self, host: &str, port: u16, scheme: &str) -> ::Result<PooledStream<S>> {
|
||||
let key = key(host, port, scheme);
|
||||
let mut locked = self.inner.lock().unwrap();
|
||||
let mut should_remove = false;
|
||||
@@ -203,7 +203,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_connect_and_drop() {
|
||||
let mut pool = mocked!();
|
||||
let pool = mocked!();
|
||||
let key = key("127.0.0.1", 3000, "http");
|
||||
pool.connect("127.0.0.1", 3000, "http").unwrap().is_drained = true;
|
||||
{
|
||||
@@ -221,7 +221,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_closed() {
|
||||
let mut pool = mocked!();
|
||||
let pool = mocked!();
|
||||
let mut stream = pool.connect("127.0.0.1", 3000, "http").unwrap();
|
||||
stream.close(Shutdown::Both).unwrap();
|
||||
drop(stream);
|
||||
|
||||
Reference in New Issue
Block a user