Snodo.Client.Direct (snodo v0.3.1)

Copy Markdown View Source

In-process transport for Snodo.Client.direct/2.

Each request runs Snodo.Server.dispatch/3 in the calling process with a :direct transport context, so :timeout does not apply.

A request with progress: runs the dispatch in a linked task instead, with a progress sink owned by the calling process. The caller acknowledges each of the handler's Snodo.Progress.report/3 calls after passing the notification to the progress function, as a server transport does after writing it.

Summary

Types

state()

@type state() :: %{runtime: Snodo.Server.Runtime.t(), auth: term()}