PendingPayloadBuffer class

Holds a plugin's CEP triggers while core is not READY.

Each plugin owns one instance and flushes it from DigiaCEPPlugin.onHostReady. Core never reads it. A newer trigger replaces a held one with the same cepCampaignId, with no drop. A full buffer drops the oldest as DropReason.superseded; a timer drops a trigger held longer than 5 minutes as DropReason.pendingExpired. Dart is single-isolate, so no lock.

Constructors

PendingPayloadBuffer({required void onDrop(CEPTriggerPayload trigger, DropReason reason), bool arrivalOrder = false, DateTime now()?, Timer createTimer(Duration delay, void callback())?})
Creates a buffer. onDrop settles a removed trigger with the CEP.

Properties

hashCode → int
The hash code for this object.
no setterinherited
length → int
The number of held triggers.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

add(CEPTriggerPayload trigger) → void
Holds trigger. A replaced copy keeps its first hold time, so a re-pull does not extend the 5 minutes.
dropAll(DropReason reason) → void
Removes every held trigger with reason.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
takeAll() → List<CEPTriggerPayload>
Removes and returns every held trigger in flush order: newest first, so the freshest modal takes the surface; inline triggers keep arrival order.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited