lib/vintage_net/os_event_dispatcher/udhcpd_handler.ex

defmodule VintageNet.OSEventDispatcher.UdhcpdHandler do
  @moduledoc """
  A 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