View Source NervesHubLink.UpdateManager (nerves_hub_link v2.6.0)

GenServer responsible for brokering messages between:

  • an external controlling process
  • FWUP
  • HTTP

Should be started in a supervision tree

Summary

Functions

Must be called when an update payload is dispatched from NervesHub. the map must contain a "firmware_url" key.

Returns the UUID of the currently downloading firmware, or nil.

Returns the current status of the update manager

Functions

apply_update(manager \\ __MODULE__, update_info, fwup_public_keys)

@spec apply_update(GenServer.server(), NervesHubLink.Message.UpdateInfo.t(), [
  String.t()
]) ::
  NervesHubLink.UpdateManager.State.status()

Must be called when an update payload is dispatched from NervesHub. the map must contain a "firmware_url" key.

currently_downloading_uuid(manager \\ __MODULE__)

@spec currently_downloading_uuid(GenServer.server()) :: uuid :: String.t() | nil

Returns the UUID of the currently downloading firmware, or nil.

status(manager \\ __MODULE__)

Returns the current status of the update manager