Bedrock.ControlPlane.Distributor.Placeholder.Server (bedrock v0.7.0)
View SourceGenServer implementation of the coverage placeholder.
Accepts the exact read-path call shapes real materializer servers
handle — {:get, key_or_selector, version, opts} and
{:get_range, start, end, version, opts} — and either forwards them
to a live materializer (when one is known for the shard tag) or parks
them in a deadline-bounded waiting list while signaling coverage
demand to the distributor.
Deadline expiry is timer-driven: every mutation of the waiting list
reschedules a Process.send_after/3 for the earliest deadline, and
expired entries shed {:error, :unavailable} — retryable and
routing-invalidating at the client, which is exactly right for a key
whose coverage has not arrived.