Fix credo warnings.
This commit is contained in:
parent
db9ab41b53
commit
e60eced8b0
3 changed files with 12 additions and 7 deletions
|
@ -267,7 +267,7 @@ defmodule IP.Address do
|
||||||
"""
|
"""
|
||||||
@spec to_prefix(t, Prefix.ipv4_prefix_length | Prefix.ipv6_prefix_length) \
|
@spec to_prefix(t, Prefix.ipv4_prefix_length | Prefix.ipv6_prefix_length) \
|
||||||
:: Prefix.t
|
:: Prefix.t
|
||||||
def to_prefix(%Address{} = address, length), do: IP.Prefix.new(address, length)
|
def to_prefix(%Address{} = address, length), do: Prefix.new(address, length)
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Returns the IP version of the address.
|
Returns the IP version of the address.
|
||||||
|
@ -516,7 +516,8 @@ defmodule IP.Address do
|
||||||
iex> IP.Address.generate_ula("60:f8:1d:ad:d8:90")
|
iex> IP.Address.generate_ula("60:f8:1d:ad:d8:90")
|
||||||
#IP.Address<fd29:f1ef:86a1::>
|
#IP.Address<fd29:f1ef:86a1::>
|
||||||
"""
|
"""
|
||||||
@spec generate_ula(binary, non_neg_integer, true | false) :: {:ok, t} | {:error, term}
|
@spec generate_ula(binary, non_neg_integer, true | false) :: \
|
||||||
|
{:ok, t} | {:error, term}
|
||||||
def generate_ula(mac, subnet_id \\ 0, locally_assigned \\ true) do
|
def generate_ula(mac, subnet_id \\ 0, locally_assigned \\ true) do
|
||||||
with {:ok, address} <- ULA.generate(mac, subnet_id, locally_assigned),
|
with {:ok, address} <- ULA.generate(mac, subnet_id, locally_assigned),
|
||||||
{:ok, address} <- from_integer(address, 6)
|
{:ok, address} <- from_integer(address, 6)
|
||||||
|
|
|
@ -10,7 +10,8 @@ defmodule IP.Address.ULA do
|
||||||
@doc """
|
@doc """
|
||||||
Generates an IPv6 Unique Local Address
|
Generates an IPv6 Unique Local Address
|
||||||
"""
|
"""
|
||||||
@spec generate(binary, non_neg_integer, true | false) :: {:ok, Address.ipv4} | {:error, term}
|
@spec generate(binary, non_neg_integer, true | false) :: \
|
||||||
|
{:ok, Address.ipv4} | {:error, term}
|
||||||
def generate(mac, subnet_id, locally_assigned)
|
def generate(mac, subnet_id, locally_assigned)
|
||||||
when is_binary(mac)
|
when is_binary(mac)
|
||||||
and is_integer(subnet_id) and subnet_id >= 0 and subnet_id <= 0xffff
|
and is_integer(subnet_id) and subnet_id >= 0 and subnet_id <= 0xffff
|
||||||
|
@ -21,7 +22,9 @@ defmodule IP.Address.ULA do
|
||||||
{:ok, eui} <- EUI64.eui_portion(mac),
|
{:ok, eui} <- EUI64.eui_portion(mac),
|
||||||
{:ok, digest} <- generate_digest(ntp_time, eui),
|
{:ok, digest} <- generate_digest(ntp_time, eui),
|
||||||
{:ok, global_id} <- last_40_bits_of_digest(digest),
|
{:ok, global_id} <- last_40_bits_of_digest(digest),
|
||||||
{:ok, prefix} <- generate_address(locally_assigned, subnet_id, global_id)
|
{:ok, prefix} <- generate_address(locally_assigned,
|
||||||
|
subnet_id,
|
||||||
|
global_id)
|
||||||
do
|
do
|
||||||
{:ok, prefix}
|
{:ok, prefix}
|
||||||
end
|
end
|
||||||
|
@ -34,7 +37,8 @@ defmodule IP.Address.ULA do
|
||||||
end
|
end
|
||||||
|
|
||||||
defp generate_digest(ntp_time, eui) do
|
defp generate_digest(ntp_time, eui) do
|
||||||
with key <- << ntp_time::unsigned-integer-size(64), eui::unsigned-integer-size(64) >>,
|
with key <- << ntp_time::unsigned-integer-size(64),
|
||||||
|
eui::unsigned-integer-size(64) >>,
|
||||||
digest <- :crypto.hash(:sha, key),
|
digest <- :crypto.hash(:sha, key),
|
||||||
digest <- :binary.decode_unsigned(digest)
|
digest <- :binary.decode_unsigned(digest)
|
||||||
do
|
do
|
||||||
|
|
|
@ -386,12 +386,12 @@ defmodule IP.Prefix do
|
||||||
@spec usable(t) :: non_neg_integer
|
@spec usable(t) :: non_neg_integer
|
||||||
def usable(%Prefix{address: %Address{version: 4}} = prefix) do
|
def usable(%Prefix{address: %Address{version: 4}} = prefix) do
|
||||||
space = prefix
|
space = prefix
|
||||||
|> IP.Prefix.space()
|
|> Prefix.space()
|
||||||
space - 2
|
space - 2
|
||||||
end
|
end
|
||||||
|
|
||||||
def usable(%Prefix{address: %Address{version: 6}} = prefix) do
|
def usable(%Prefix{address: %Address{version: 6}} = prefix) do
|
||||||
IP.Prefix.space(prefix)
|
Prefix.space(prefix)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue