Skip to content

IGraphDispatcher

[<Interface>]
type IGraphDispatcher =
    abstract member Post (drain: Action) : unit
AssemblyRanvier

Wakes the graph when work arrives from another thread: Post receives a request to drain the graph's inbox.

The work stays in the inbox, and the dispatcher chooses the thread the drain runs on. Under Guarded, a drain off the owning thread raises InvalidOperationException to the Graph.Dispatch caller and the work stays queued. Under Unchecked, a dispatcher that drains off-thread, such as ImmediateDispatcher, runs graph code there. Under Serialised, a drain that finds another thread inside the graph leaves the work for that thread's exit to post.

Methods

abstract member Post (drain: Action) : unit