address
This library aids in processing network addresses.
Usage
There are currently no features. You can use all address types with the following dependency:
[dependencies]
address = "0.15.0"
Address Types
There are 6 core address types:
- IPAddress: Either an IPv4 address or an IPv6 address.
- Includes the
IPAddressenum along with theIPv4Address&IPv6Addressstruct types.
- Includes the
- SocketAddress: An IP address with an associated port.
- Includes the
SocketAddress,SocketAddressV4&SocketAddressV6struct types.
- Includes the
- Domain: A domain name.
- Includes: the
Domain&DomainRefstruct types.
- Includes: the
- Endpoint: A domain with an associated port.
- Includes: the
Endpoint&EndpointRefstruct types.
- Includes: the
- Host: Either a domain or an IP address.
- Includes: the
Host&HostRefenum types.
- Includes: the
- Authority: A host with an associated port.
- Includes: the
Authority&AuthorityRefstruct types.
- Includes: the
Owned & Reference Types
Address types that are not Copy have owned and Ref types (example: Domain & DomainRef). This allows both owned
types and types that do not require allocation. These types can be easily converted between one another.
Standard Library Types
IP addresses and socket addresses are different from their standard library counterparts. They can be easily converted
between each other. There is a difference in IPv6 socket addresses: the flow_info and scope_id are not included as
part of the address.