Class PosetAwareMailbox
java.lang.Object
tools.refinery.interpreter.rete.network.mailbox.timeless.AbstractUpdateSplittingMailbox<GroupBasedMessageIndexer,PosetAwareReceiver>
tools.refinery.interpreter.rete.network.mailbox.timeless.PosetAwareMailbox
- All Implemented Interfaces:
Clearable
,IGroupable
,Mailbox
public class PosetAwareMailbox
extends AbstractUpdateSplittingMailbox<GroupBasedMessageIndexer,PosetAwareReceiver>
A monotonicity aware mailbox implementation. The mailbox uses an
IPosetComparator
to identify if a pair of
REVOKE - INSERT updates represent a monotone change pair. The mailbox is used by PosetAwareReceiver
s.- Since:
- 2.0
-
Field Summary
FieldsFields inherited from class tools.refinery.interpreter.rete.network.mailbox.timeless.AbstractUpdateSplittingMailbox
antiMonotoneBuffer, antiMonotoneQueue, container, deliveringAntiMonotone, deliveringMonotone, group, monotoneBuffer, monotoneQueue, receiver
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
deliverAll
(MessageSelector kind) Delivers all messages according to the given selector from this mailbox.void
postMessage
(Direction direction, Tuple update, Timestamp timestamp) Posts a new message to this mailbox.toString()
tryFindCounterPart
(Tuple first, boolean findPositiveCounterPart, boolean findAllCounterParts) Methods inherited from class tools.refinery.interpreter.rete.network.mailbox.timeless.AbstractUpdateSplittingMailbox
clear, getActiveAntiMonotoneQueue, getActiveMonotoneQueue, getCurrentGroup, getReceiver, isEmpty, setCurrentGroup, swapAndClearAntiMonotone, swapAndClearMonotone
-
Field Details
-
groupMask
-
-
Constructor Details
-
PosetAwareMailbox
-
-
Method Details
-
postMessage
Description copied from interface:Mailbox
Posts a new message to this mailbox.- Parameters:
direction
- the direction of the updateupdate
- the update element
-
tryFindCounterPart
-
deliverAll
Description copied from interface:Mailbox
Delivers all messages according to the given selector from this mailbox. The selector can also be null. In this case, no special separation is expected between the messages.- Parameters:
kind
- the message selector
-
toString
-