pub struct Pool { /* private fields */ }
Expand description
A representation of a set of network resources that may be accessed.
This is presently a very simple concept, though it could grow in sophistication in the future.
Pool
implements Clone
, which creates new independent entities that
carry the full authority of the originals. This means that in a borrow
of a Pool
, the scope of the authority is not necessarily limited to
the scope of the borrow.
Similarly, the cap_net_ext::PoolExt
class allows creating “binder”
and “connecter” objects which represent capabilities to bind and
connect to addresses.
Implementations§
Source§impl Pool
impl Pool
Sourcepub fn insert<A: ToSocketAddrs>(
&mut self,
addrs: A,
ambient_authority: AmbientAuthority,
) -> Result<()>
pub fn insert<A: ToSocketAddrs>( &mut self, addrs: A, ambient_authority: AmbientAuthority, ) -> Result<()>
Add addresses to the pool.
§Ambient Authority
This function allows ambient access to any IP address.
Sourcepub fn insert_socket_addr(
&mut self,
addr: SocketAddr,
ambient_authority: AmbientAuthority,
)
pub fn insert_socket_addr( &mut self, addr: SocketAddr, ambient_authority: AmbientAuthority, )
Add a specific net::SocketAddr
to the pool.
§Ambient Authority
This function allows ambient access to any IP address.
Sourcepub fn insert_ip_net_port_any(
&mut self,
ip_net: IpNet,
ambient_authority: AmbientAuthority,
)
pub fn insert_ip_net_port_any( &mut self, ip_net: IpNet, ambient_authority: AmbientAuthority, )
Add a range of network addresses, accepting any port, to the pool.
§Ambient Authority
This function allows ambient access to any IP address.
Sourcepub fn insert_ip_net_port_range(
&mut self,
ip_net: IpNet,
ports_start: u16,
ports_end: Option<u16>,
ambient_authority: AmbientAuthority,
)
pub fn insert_ip_net_port_range( &mut self, ip_net: IpNet, ports_start: u16, ports_end: Option<u16>, ambient_authority: AmbientAuthority, )
Add a range of network addresses, accepting a range of ports, to the pool.
This grants access to the port range starting at ports_start
and,
if ports_end
is provided, ending before ports_end
.
§Ambient Authority
This function allows ambient access to any IP address.
Sourcepub fn insert_ip_net(
&mut self,
ip_net: IpNet,
port: u16,
ambient_authority: AmbientAuthority,
)
pub fn insert_ip_net( &mut self, ip_net: IpNet, port: u16, ambient_authority: AmbientAuthority, )
Add a range of network addresses with a specific port to the pool.
§Ambient Authority
This function allows ambient access to any IP address.
Sourcepub fn check_addr(&self, addr: &SocketAddr) -> Result<()>
pub fn check_addr(&self, addr: &SocketAddr) -> Result<()>
Check whether the given address is within the pool.