Trait rsntp::ToServerAddrs

source ·
pub trait ToServerAddrs { }
Expand description

A trait for objects which can be converted or resolved to one or more SocketAddr values with or without a port.

This trait is similar to the std::net::ToSocketAddrs trait, but the port is optional. If no port is supplied then the user of this trait falls back to a default one.

It is implemented for almost all types ToSocketAddrs is implemented for, plus for some addition types where the optional port is not present ((IpAddr, u16), and also for simple IpAddr). For string implementation, the port is also optional, so both <host>:<port> and <host> can be used.

The trait is intended to be opaque; details might change.

§Examples

use rsntp::ToServerAddrs;
use std::net::Ipv4Addr;

fn connect<A: ToServerAddrs>(addr: A) {
  // connect to a server with default port 1234
}

connect("127.0.0.1"); // will connect to 127.0.0.1:1234
connect("127.0.0.1:456"); // will connect to 127.0.0.1:456

connect(Ipv4Addr::new(127, 0, 0, 1)); // will connect to 127.0.0.1:1234
connect((Ipv4Addr::new(127, 0, 0, 1), 456)); // will connect to 127.0.0.1:456

Implementations on Foreign Types§

source§

impl ToServerAddrs for (IpAddr, u16)

source§

impl ToServerAddrs for (String, u16)

source§

impl ToServerAddrs for (Ipv4Addr, u16)

source§

impl ToServerAddrs for (Ipv6Addr, u16)

source§

impl ToServerAddrs for IpAddr

source§

impl ToServerAddrs for SocketAddr

source§

impl ToServerAddrs for str

source§

impl ToServerAddrs for String

source§

impl ToServerAddrs for Ipv4Addr

source§

impl ToServerAddrs for Ipv6Addr

source§

impl ToServerAddrs for SocketAddrV4

source§

impl ToServerAddrs for SocketAddrV6

source§

impl<'a> ToServerAddrs for (&'a str, u16)

source§

impl<T: ToServerAddrs + ?Sized> ToServerAddrs for &T

Implementors§