struct io.SocketAddress_ip4
Overview
This struct holds information about IP4 address in the form
suitable for socket communications. More…
import "io_base.jncx" import "io_SocketAddress.jnc" struct SocketAddress_ip4 { // fields io.AddressFamily m_family; uint16_t bigendian m_port; io.Address_ip4 m_address; char _m_padding[]; // methods bool isEqual(io.SocketAddress_ip4 const* address) const; bool isMatch(io.SocketAddress_ip4 const* filterAddress) const; bool errorcode parse(string_t string); string_t getString() const; // aliases alias toString = getString; alias fromString = parse; };
Detailed Documentation
This struct holds information about IP4 address in the form
suitable for socket communications.
On the binary level this structure directly maps to sockaddr_in.
See also:
io.Address_ip4, io.Socket, io.HostNameResolver
Fields
io.AddressFamily m_family
Holds the address family of the socket address; should be set to
io.AddressFamily.Ip4.
uint16_t bigendian m_port
Holds the number of TCP or UDP port. There is no need to change
the byte order of the port before assignment – this field is already
declared as bigendian so all the necessary conversions will happen
automatically.
io.Address_ip4 m_address
Holds IP4 address as io.Address_ip4.
char _m_padding[]
Extra padding to ensure binary compatibility wiht sockaddr_in.
Methods
bool isEqual(io.SocketAddress_ip4 const* address) const
Checks two IP4 socket addresses for equality; returns true if
addresses are equal and false otherwise.
bool isMatch(io.SocketAddress_ip4 const* filterAddress) const
Checks two IP4 socket addresses for matching. The term matching
requires some explanation.
Matching could be described as a non-strict equality check. We may
decide to only check port for equality and ignore the address. To do
so, set m_address field of filter argument to 0.
Or the other way around – only check address and ignore port – set
m_port field of filter argument to 0.
Returns true if addresses match and false otherwise.
bool errorcode parse(string_t string)
Constructs the address from a string representation in string
argument.
Returns true if address string was parsed successfully. Otherwise,
sets the description of parsing error and returns false [1].
string_t getString() const
Creates and returns a string representation of the address.
Aliases
alias toString = getString
Effectively makes io.SocketAddress_ip4 a stringable class.
Footnotes