Class FaithfulParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
tools.refinery.interpreter.rete.single.SingleInputNode
tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode<Domain,Accumulator,AggregateResult>
tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult,FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate<Domain,Accumulator>,FaithfulParallelTimelyColumnAggregatorNode.FoldingState<Domain>>
tools.refinery.interpreter.rete.aggregation.timely.FaithfulParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
- All Implemented Interfaces:
Clearable,IAggregatorNode,ResumableNode,IGroupable,NetworkStructureChangeSensitiveNode,Node,Receiver,Supplier,Tunnel
public class FaithfulParallelTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult>
extends FaithfulTimelyColumnAggregatorNode<Domain,Accumulator,AggregateResult,FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate<Domain,Accumulator>,FaithfulParallelTimelyColumnAggregatorNode.FoldingState<Domain>>
implements ResumableNode
Faithful column aggregator with parallel aggregation architecture.
- Since:
- 2.4
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classNested classes/interfaces inherited from class tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode
FaithfulTimelyColumnAggregatorNode.MergeableFoldingState<T>Nested classes/interfaces inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
AbstractColumnAggregatorNode.AggregatorOuterIdentityIndexer, AbstractColumnAggregatorNode.AggregatorOuterIndexer, AbstractColumnAggregatorNode.NetworkStructureChangeSensitiveLogic -
Field Summary
Fields inherited from class tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode
aggregates, communicationGroup, foldingState, NEUTRAL_INITIAL_TIMELINE, NON_NEUTRAL_INITIAL_TIMELINE, timelinesFields inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
aggregatorOuterIdentityIndexers, aggregatorOuterIndexer, columnMask, groupMask, NEUTRAL, operator, runtimeContext, sourceWidthFields inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
mailbox, parentFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
ConstructorsConstructorDescriptionFaithfulParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, int aggregatedColumn) FaithfulParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask) -
Method Summary
Modifier and TypeMethodDescriptionprotected Map<AggregateResult, Diff<Timestamp>> doFoldingStep(Tuple group, FaithfulParallelTimelyColumnAggregatorNode.FoldingState<Domain> state, Timestamp timestamp) protected voidgcAggregates(FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate<Domain, Accumulator> aggregate, Tuple group, Timestamp timestamp) Garbage collects the counter of the given group and timestamp if the bag of aggregands is empty.getAggregate(Tuple group, Timestamp timestamp) On-demand initializes and returns the aggregate for the given group and timestamp.getAggregateResult(Tuple group) voidUpdates the receiver with a newly found or lost partial matching.Methods inherited from class tools.refinery.interpreter.rete.aggregation.timely.FaithfulTimelyColumnAggregatorNode
addFoldingState, appendDiff, clear, getAggregateResultTimeline, getAggregateTuple, getAggregateTupleTimeline, getCurrentGroup, getInitialTimeline, getResumableTimestamp, instantiateMailbox, resumeAt, setCurrentGroup, updateTimelineMethods inherited from class tools.refinery.interpreter.rete.aggregation.AbstractColumnAggregatorNode
appendChild, getAggregatorOuterIdentityIndexer, getAggregatorOuterIndexer, getCommunicationTracker, propagate, propagateAggregateResultUpdate, pullInto, pullIntoWithTimeline, tupleFromAggregateResultMethods inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
appendParent, assignTraceInfo, getMailbox, getParents, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChildMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.network.IGroupable
getCurrentGroup, setCurrentGroupMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, assignTraceInfo, getCommunicationTracker, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdateMethods inherited from interface tools.refinery.interpreter.rete.network.communication.timely.ResumableNode
getResumableTimestamp, resumeAtMethods inherited from interface tools.refinery.interpreter.rete.network.Supplier
constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
Constructor Details
-
FaithfulParallelTimelyColumnAggregatorNode
public FaithfulParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, TupleMask columnMask) -
FaithfulParallelTimelyColumnAggregatorNode
public FaithfulParallelTimelyColumnAggregatorNode(ReteContainer reteContainer, IMultisetAggregationOperator<Domain, Accumulator, AggregateResult> operator, TupleMask groupMask, int aggregatedColumn)
-
-
Method Details
-
doFoldingStep
protected Map<AggregateResult,Diff<Timestamp>> doFoldingStep(Tuple group, FaithfulParallelTimelyColumnAggregatorNode.FoldingState<Domain> state, Timestamp timestamp) -
update
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching. -
gcAggregates
protected void gcAggregates(FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate<Domain, Accumulator> aggregate, Tuple group, Timestamp timestamp) Garbage collects the counter of the given group and timestamp if the bag of aggregands is empty. -
getAggregate
protected FaithfulParallelTimelyColumnAggregatorNode.CumulativeAggregate<Domain,Accumulator> getAggregate(Tuple group, Timestamp timestamp) On-demand initializes and returns the aggregate for the given group and timestamp. -
getAggregateResult
- Specified by:
getAggregateResultin classAbstractColumnAggregatorNode<Domain,Accumulator, AggregateResult>
-