|
@@ -16,8 +16,7 @@ pub struct AutoTransport {
|
|
impl AutoTransport {
|
|
impl AutoTransport {
|
|
|
|
|
|
/// Creates a new automatic transport that connects to the given host.
|
|
/// Creates a new automatic transport that connects to the given host.
|
|
- pub fn new(sa: impl Into<String>) -> Self {
|
|
|
|
- let addr = sa.into();
|
|
|
|
|
|
+ pub fn new(addr: String) -> Self {
|
|
Self { addr }
|
|
Self { addr }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -25,7 +24,7 @@ impl AutoTransport {
|
|
|
|
|
|
impl Transport for AutoTransport {
|
|
impl Transport for AutoTransport {
|
|
fn send(&self, request: &Request) -> Result<Response, Error> {
|
|
fn send(&self, request: &Request) -> Result<Response, Error> {
|
|
- let udp_transport = UdpTransport::new(&self.addr);
|
|
|
|
|
|
+ let udp_transport = UdpTransport::new(self.addr.clone());
|
|
let udp_response = udp_transport.send(&request)?;
|
|
let udp_response = udp_transport.send(&request)?;
|
|
|
|
|
|
if ! udp_response.flags.truncated {
|
|
if ! udp_response.flags.truncated {
|
|
@@ -34,7 +33,7 @@ impl Transport for AutoTransport {
|
|
|
|
|
|
debug!("Truncated flag set, so switching to TCP");
|
|
debug!("Truncated flag set, so switching to TCP");
|
|
|
|
|
|
- let tcp_transport = TcpTransport::new(&self.addr);
|
|
|
|
|
|
+ let tcp_transport = TcpTransport::new(self.addr.clone());
|
|
let tcp_response = tcp_transport.send(&request)?;
|
|
let tcp_response = tcp_transport.send(&request)?;
|
|
Ok(tcp_response)
|
|
Ok(tcp_response)
|
|
}
|
|
}
|