# `Gust.DAG.TaskWaiter`

Behaviour for resuming tasks that are parked on external wait events.

This module delegates to the configured implementation module:

    config :gust, :dag_task_waiter, Gust.DAG.TaskWaiter.Repo

The configured module must implement this behaviour.

# `resume_opts`

```elixir
@type resume_opts() :: keyword()
```

# `task`

```elixir
@type task() :: term()
```

# `clear_wait`

```elixir
@callback clear_wait(task()) :: task()
```

# `fail`

```elixir
@callback fail(task()) :: {:ok, task()} | {:error, term()}
```

# `resume`

```elixir
@callback resume(term(), resume_opts()) :: {:ok, [task()]} | {:error, term()}
```

# `clear_wait`

# `fail`

# `impl`

# `resume`

---

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