# `NervesTime.Waiter`
[🔗](https://github.com/nerves-time/nerves_time/blob/v0.4.12/lib/nerves_time/waiter.ex#L6)

Waits for `NervesTime.SystemTime` to successfully set a sane real time.

By default that time is fetched completely async, but this waiter can be
configured using `config :nerves_time, await_initialization_timeout: timeout` to
block startup for the configured duration. If the timeout elapses there's
still no guarantee for a sane real time being set. Setting the timeout
to `:infinity` will however block until that happens.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

---

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