MscmpSystNetwork.Protocol protocol (mscmp_syst_network v0.1.0)
Defines the MscmpSystNetwork Protocol which all network protocols must implement.
Many functions in MscmpSystNetwork
require that this protocol be implemented
to be useful.
Summary
Types
@type t() :: term()
All the types that implement this protocol.
Functions
Link to this function
get_host(addr_struct)
@spec get_host(MscmpSystNetwork.Types.IpV4.t()) :: MscmpSystNetwork.Types.ipv4_addr() | nil
@spec get_host(MscmpSystNetwork.Types.IpV6.t()) :: MscmpSystNetwork.Types.ipv6_addr() | nil
Link to this function
get_netmask(addr_struct)
@spec get_netmask(MscmpSystNetwork.Types.IpV4.t()) :: MscmpSystNetwork.Types.ipv4_addr()
@spec get_netmask(MscmpSystNetwork.Types.IpV6.t()) :: MscmpSystNetwork.Types.ipv6_addr()
Link to this function
get_network(addr_struct)
@spec get_network(MscmpSystNetwork.Types.IpV4.t()) :: MscmpSystNetwork.Types.ipv4_addr() | nil
@spec get_network(MscmpSystNetwork.Types.IpV6.t()) :: MscmpSystNetwork.Types.ipv6_addr() | nil
Link to this function
host?(addr_struct)
@spec host?(MscmpSystNetwork.Types.addr_structs()) :: boolean()
Link to this function
in_network?(test_addr, network_addr)
@spec in_network?(MscmpSystNetwork.Types.IpV4.t(), MscmpSystNetwork.Types.IpV4.t()) :: boolean()
@spec in_network?(MscmpSystNetwork.Types.IpV6.t(), MscmpSystNetwork.Types.IpV6.t()) :: boolean()
Link to this function
in_range?(test_addr, low_addr, high_addr)
@spec in_range?( MscmpSystNetwork.Types.IpV4.t(), MscmpSystNetwork.Types.IpV4.t(), MscmpSystNetwork.Types.IpV4.t() ) :: boolean()
@spec in_range?( MscmpSystNetwork.Types.IpV6.t(), MscmpSystNetwork.Types.IpV6.t(), MscmpSystNetwork.Types.IpV6.t() ) :: boolean()
Link to this function
network?(addr_struct)
@spec network?(MscmpSystNetwork.Types.addr_structs()) :: boolean()
Link to this function
to_string(addr_struct)
@spec to_string(MscmpSystNetwork.Types.addr_structs()) :: String.t()