(commix dest & {:as spec})
A *->1 spec that commixs data flow; i.e., the first source queue containing a ready item is polled for a value which is put into the destination. This is the opposite of duplicate. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
A *->1 spec that commixs data flow; i.e., the first source queue containing a ready item is polled for a value which is put into the destination. This is the opposite of duplicate. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
(compile-commix-gen graph-name
{:keys [coordinated? source-names dest-name] :as edge-spec})
(compile-discriminate-gen graph-name
{:keys [coordinated? result->destination predicate
source-name dest-names]
:as edge-spec})
(compile-duplicate-gen graph-name
{:keys [coordinated? priority source-name dest-names]
:as edge-spec})
(compile-fuse-gen graph-name {:keys [source-names dest-name] :as edge-spec})
(compile-transform-gen graph-name
{:keys [coordinated? asynchronous? batching? collecting?
function source-name dest-name]
:as edge-spec})
(discriminate pred result->destination & {:as spec})
A 1->* spec that simply passes data to one of a number of destinations, determined by the result of calling predicate pred on each item. result->destination is expected to be a map from result-of-pred to destination name. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
A 1->* spec that simply passes data to one of a number of destinations, determined by the result of calling predicate pred on each item. result->destination is expected to be a map from result-of-pred to destination name. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
(duplicate dests & {:as spec})
A 1->* spec that duplicates data along every outgoing edge. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
A 1->* spec that duplicates data along every outgoing edge. Accepts optional named values (along with appropriate supporting values): #{:coordinated? :priority}
(fuse dest & {:as spec})
A *->1 spec that fuses data from a multiplicity of sources: it places into the destination queue a vector containing the outputs of all input queues. Note that this does nothing until all input queues are ready to deliver an item. This means, among other things, that combination operations are always :coordinated? Accepts optional named values (along with appropriate supporting values): #{:priority}
A *->1 spec that fuses data from a multiplicity of sources: it places into the destination queue a vector containing the outputs of all input queues. Note that this does nothing until all input queues are ready to deliver an item. This means, among other things, that combination operations are always :coordinated? Accepts optional named values (along with appropriate supporting values): #{:priority}
(modify-counter {:keys [dest-name batching? collecting?]})
Uses the edge spec to return nil or a sequence containing the correct swap! action for the global-counter, based on whether the edge is batching, collecting, or neither; and whether it leads to the sink or not.
Uses the edge spec to return nil or a sequence containing the correct swap! action for the global-counter, based on whether the edge is batching, collecting, or neither; and whether it leads to the sink or not.
(pusher {:keys [batching? coordinated?]})
Chooses the correct push-* function from the queues protocol based on whether the edge is batching, coordinated, neither, or both.
Chooses the correct push-* function from the queues protocol based on whether the edge is batching, coordinated, neither, or both.
(transform f dest & {:as spec})
A 1->1 spec that transforms data by passing it through the function f. Accepts optional named values (along with appropriate supporting values): #{:batching? :asynchronous? :coordinated? :collecting? :priority}
A 1->1 spec that transforms data by passing it through the function f. Accepts optional named values (along with appropriate supporting values): #{:batching? :asynchronous? :coordinated? :collecting? :priority}
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close