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) \
|
||||
:: 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 """
|
||||
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")
|
||||
#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
|
||||
with {:ok, address} <- ULA.generate(mac, subnet_id, locally_assigned),
|
||||
{:ok, address} <- from_integer(address, 6)
|
||||
|
|
|
@ -10,7 +10,8 @@ defmodule IP.Address.ULA do
|
|||
@doc """
|
||||
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)
|
||||
when is_binary(mac)
|
||||
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, digest} <- generate_digest(ntp_time, eui),
|
||||
{: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
|
||||
{:ok, prefix}
|
||||
end
|
||||
|
@ -34,7 +37,8 @@ defmodule IP.Address.ULA do
|
|||
end
|
||||
|
||||
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 <- :binary.decode_unsigned(digest)
|
||||
do
|
||||
|
|
|
@ -386,12 +386,12 @@ defmodule IP.Prefix do
|
|||
@spec usable(t) :: non_neg_integer
|
||||
def usable(%Prefix{address: %Address{version: 4}} = prefix) do
|
||||
space = prefix
|
||||
|> IP.Prefix.space()
|
||||
|> Prefix.space()
|
||||
space - 2
|
||||
end
|
||||
|
||||
def usable(%Prefix{address: %Address{version: 6}} = prefix) do
|
||||
IP.Prefix.space(prefix)
|
||||
Prefix.space(prefix)
|
||||
end
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue