# `DGen.Server`
[🔗](https://github.com/foundationdb-beam/dgen/blob/main/lib/dgen/server.ex#L1)

# `handle_call`
*optional* 

```elixir
@callback handle_call(request :: term(), from :: term(), state :: term()) ::
  {:reply, reply :: term(), new_state :: term()}
  | {:noreply, new_state :: term()}
```

# `handle_call_tx`
*optional* 

```elixir
@callback handle_call_tx(
  tx_ctx :: map(),
  request :: term(),
  from :: term(),
  state :: term()
) ::
  {:reply, reply :: term(), new_state :: term()}
  | {:noreply, new_state :: term()}
```

# `handle_cast`
*optional* 

```elixir
@callback handle_cast(msg :: term(), state :: term()) :: {:noreply, new_state :: term()}
```

# `handle_cast_tx`
*optional* 

```elixir
@callback handle_cast_tx(tx_ctx :: map(), msg :: term(), state :: term()) ::
  {:noreply, new_state :: term()}
```

# `handle_info`
*optional* 

```elixir
@callback handle_info(info :: term(), state :: term()) :: {:noreply, new_state :: term()}
```

# `handle_info_tx`
*optional* 

```elixir
@callback handle_info_tx(tx_ctx :: map(), info :: term(), state :: term()) ::
  {:noreply, new_state :: term()}
```

# `handle_locked`
*optional* 

```elixir
@callback handle_locked(
  db_ctx :: map(),
  event_type :: term(),
  msg :: term(),
  state :: term()
) ::
  {:reply, reply :: term(), new_state :: term()}
  | {:noreply, new_state :: term()}
```

# `init`

```elixir
@callback init(args :: term()) ::
  {:ok, state :: term()}
  | {:ok, tuid :: tuple(), state :: term()}
  | {:error, reason :: term()}
```

# `call`

# `call`

# `cast`

# `cast_k`

# `kill`

# `outbox_cast`

# `outbox_cast`

# `priority_call`

# `priority_call`

# `priority_cast`

# `start`

# `start_link`

---

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