menu_book Course Curriculum (Elixir) expand_more
GenServer calls
Learn GenServer calls in Elixir through a focused explanation, a dedicated topic-specific example, an engineering boundary, and a mastery check.
GenServer calls is a focused Elixir lesson inside Processes and Messages. The example uses the construct named in the lesson directly rather than reusing a generic placeholder.
Trace the example from its inputs through GenServer calls and identify the behavior that would change if that construct were removed or replaced. Pay attention to the language-specific rules shown by the syntax, because neighboring lessons intentionally exercise different mechanisms.
Topic-specific example
defmodule Counter do
use GenServer
def start_link(v), do: GenServer.start_link(__MODULE__, v)
def init(v), do: {:ok, v}
def handle_call(:get, _from, v), do: {:reply, v, v}
end
For GenServer calls, test one realistic boundary: empty data, invalid input, unavailable resources, lifetime/cleanup, type constraints, or concurrency timing where applicable. A successful happy path is not enough to prove the construct is used correctly.