Struct cap_primitives::net::Pool
source · 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<()>
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.