Contract for a vehicle graph cache.
fetch/3 returns a runtime graph compiled under the current local
generation, a recorded incompatibility for the current generation, or
:miss. Writers record the local generation with the entry; stale
entries must never be returned.
Summary
Callbacks
@callback fetch(String.t(), String.t(), keyword()) :: {:ok, Docket.Runtime.Graph.t()} | {:incompatible, term()} | :miss
@callback put_compiled(String.t(), String.t(), Docket.Runtime.Graph.t(), keyword()) :: :ok
@callback put_incompatible( String.t(), String.t(), Docket.Graph.t() | :undecodable, term(), keyword() ) :: :ok