Module anchors::expert[][src]

Common code used between different engines.

Unless you’re implementing your own generic AnchorInners or your own execution engine, you should never need to import things from here. singlethread should re-export anything you need to use anchors!

Structs

Anchor

The main struct of the Anchors library. Represents a single value on the recomputation graph.

Constant

An Anchor type for immutable values.

Var

An Anchor type for values that are mutated by calling a setter function from outside of the Anchors recomputation graph.

VarSetter

A setter that can update values inside an associated Var.

Enums

Poll

Indicates whether a value is ready for reading, and if it is, whether it’s changed since the last read.

Traits

AnchorExt

A trait automatically implemented for all Anchors. You’ll likely want to use this trait in most of your programs, since it can create many useful Anchors that derive their output incrementally from some other Anchors.

AnchorHandle

A reference to a particular AnchorInner. Each engine implements its own.

AnchorInner

The engine-agnostic implementation of each type of Anchor. You likely don’t need to implement your own AnchorInner; instead use one of the built-in implementations.

AnchorSplit
DirtyHandle

Allows a node with non-Anchors inputs to manually mark itself as dirty. Each engine implements its own.

Engine

The core engine trait implemented by each recalculation engine. Allows mounting an AnchorInner into an actual Anchor, although this mounting should usually be done by each AnchorInner implementation directly.

OutputContext

The context passed to an AnchorInner when its output method is called.

UpdateContext

The context passed to an AnchorInner when its poll_updated method is called.