Behaviours: gen_server.
actor() = term()
args() = list()
error() = {error, atom()}
func() = atom()
id() = binary() | {binary(), type()}
metadata() = orddict:orddict()
operation() = {atom(), value()} | {atom(), value(), value()} | atom()
store() = ets:tid() | atom() | reference() | pid()
threshold() = value() | {strict, value()}
type() = term()
value() = term()
var() = {id(), type(), metadata(), value()}
| bind/2 | Bind a dataflow variable to a value. |
| bind_to/2 | Bind a dataflow variable to another dataflow variable. |
| declare/2 | Declare a new dataflow variable of a given type. |
| declare_dynamic/2 | Declare a new dynamic variable of a given type. |
| disinterested/1 | |
| enforce_once/3 | Enforce a invariant once over a monotonic condition. |
| filter/3 | Filter values from one lattice into another. |
| fold/3 | Fold values from one lattice into another. |
| handle_cast/2 | |
| interested/1 | |
| intersection/3 | Compute the intersection of two sets. |
| map/3 | Map values from one lattice into another. |
| product/3 | Compute the cartesian product of two sets. |
| propagate/1 | |
| query/1 | Read the current value of a CRDT. |
| read/2 | Blocking monotonic read operation for a given dataflow variable. |
| read_any/1 | Blocking monotonic read operation for a list of given dataflow variables. |
| remove_topic/2 | |
| reset/0 | Reset all Lasp application state. |
| set_topic/2 | |
| start_link/0 | Same as start_link([]). |
| start_link/1 | Start and link to calling process. |
| stream/2 | Stream values out of the Lasp system; using the values from this stream can result in observable nondeterminism. |
| thread/3 | Spawn a function. |
| union/3 | Compute the union of two sets. |
| update/3 | Update a dataflow variable. |
| wait_needed/2 | Pause execution until value requested with given threshold. |
Bind a dataflow variable to a value.
The providedId is identifier of a previously declared (see:
declare/0) dataflow variable. The Value provided is
the value to bind.
Bind a dataflow variable to another dataflow variable.
The providedId is identifier of a previously declared (see:
declare/0) dataflow variable. The Value provided is
the value to bind.
Declare a new dataflow variable of a given type.
Declare a new dynamic variable of a given type.
disinterested(Topic) -> any()
enforce_once(Id::id(), Threshold::threshold(), EnforceFun::function()) -> ok
Enforce a invariant once over a monotonic condition.
Filter values from one lattice into another.
Applies the givenFunction as a filter over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
Fold values from one lattice into another.
Applies the givenFunction as a fold over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
handle_cast(Msg::term(), State::#state{store = store(), gossip_peers = [], actor = binary()}) -> {noreply, #state{store = store(), gossip_peers = [], actor = binary()}}
interested(Topic) -> any()
Compute the intersection of two sets.
Computes the intersection of two sets and bind the result to a third.Map values from one lattice into another.
Applies the givenFunction as a map over the items in Id,
placing the result in AccId, both of which need to be declared
variables.
Compute the cartesian product of two sets.
Computes the cartestian product of two sets and bind the result to a third.propagate(Id::id()) -> ok
Read the current value of a CRDT.
Given aId, read the current value, compute the query
operation for the value, and return it to the user.
read(Id::id(), Threshold::threshold()) -> {ok, var()} | error()
Blocking monotonic read operation for a given dataflow variable.
Block until the variable identified byId has been bound, and
is monotonically greater (as defined by the lattice) then the
provided Threshold value.
read_any(Reads::[{id(), threshold()}]) -> {ok, var()} | error()
Blocking monotonic read operation for a list of given dataflow variables.
remove_topic(Id, Topic) -> any()
reset() -> ok
Reset all Lasp application state.
set_topic(Id, Topic) -> any()
start_link() -> {ok, pid()} | ignore | {error, term()}
Same as start_link([]).
start_link(Opts::list()) -> {ok, pid()} | ignore | {error, term()}
Start and link to calling process.
stream(Id, Function) -> any()
Stream values out of the Lasp system; using the values from this stream can result in observable nondeterminism.
Spawn a function.
Spawn a process executingModule:Function(Args).
Compute the union of two sets.
Computes the union of two sets and bind the result to a third.update(Id::id(), Operation::operation(), Actor::actor()) -> {ok, var()} | error()
Update a dataflow variable.
Read the givenId and update it given the provided
Operation, which should be valid for the type of CRDT stored
at the given Id.
wait_needed(Id::id(), Threshold::threshold()) -> ok | error()
Pause execution until value requested with given threshold.
Pause execution of calling thread until a read operation is issued for the givenId. Used to introduce laziness into a
computation.
Generated by EDoc