lib/vintage_net/os_event_dispatcher/udhcpd_handler.ex

defmodule VintageNet.OSEventDispatcher.UdhcpdHandler do
  @moduledoc false

  # A private behaviour for handling notifications from udhcpd
  #
  # ## Example
  #
  # ```elixir
  # defmodule MyApp.UdhcpdHandler do
  #   @behaviour VintageNet.OSEventDispatcher.UdhcpdHandler
  #
  #   @impl VintageNet.OSEventDispatcher.UdhcpdHandler
  #   def lease_update(ifname, report_data) do
  #     ...
  #   end
  # end
  # ```
  #
  # To have VintageNet invoke it, add the following to your `config.exs`:
  #
  # ```elixir
  # config :vintage_net, udhcpd_handler: MyApp.UdhcpdHandler
  # ```

  @doc """
  The DHCP lease file was updated
  """
  @callback lease_update(VintageNet.ifname(), Path.t()) :: :ok
end