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.
onDropsettles a removed trigger with the CEP.
Properties
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