Pfx.multicast

You're seeing just the function multicast, go back to Pfx module for more information.

Specs

multicast(prefix()) :: map() | nil

Returns a map with multicast address components for given pfx.

Returns nil if pfx is not a multicast address.

Examples

iex> multicast(%Pfx{bits: <<0xff02::16, 0::104, 1::8>>, maxlen: 128})
%{
  preamble: 255,
  flags: {0, 0, 0, 0},
  scope: 2,
  groupID: <<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1>>,
  address: %Pfx{bits: <<0xff02::16, 0::104, 1::8>>, maxlen: 128}
}

iex> multicast({0xff02, 0, 0, 0, 0, 0, 0, 1})
%{
  preamble: 255,
  flags: {0, 0, 0, 0},
  scope: 2,
  groupID: <<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1>>,
  address: {0xff02, 0, 0, 0, 0, 0, 0, 1}
}

iex> multicast("ff02::1")
%{
  preamble: 255,
  flags: {0, 0, 0, 0},
  scope: 2,
  groupID: <<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1>>,
  address: "ff02::1"
}