# `NervesHubLink.UpdateManager.StreamingUpdater`
[🔗](https://github.com/nerves-hub/nerves_hub_link/blob/v2.12.0/lib/nerves_hub_link/update_manager/streaming_updater.ex#L5)

This module is responsible for updating firmware using a streaming approach.
It uses the `NervesHubLink.Downloader` module to download the firmware and then sends the chunks to the
`Fwup` module to update the firmware.

This is the default `NervesHubLink.UpdateManager.Updater` used by the `NervesHubLink.UpdateManager` module.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `send_update?`

# `start_link`

```elixir
@spec start_link(
  NervesHubLink.Message.UpdateInfo.t(),
  NervesHubLink.FwupConfig.t(),
  fwup_public_keys :: [],
  GenServer.options()
) :: GenServer.on_start()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
