Skip to content

Commit 3cc19ef

Browse files
committed
Create BaseTriggerCapability
1 parent 319861e commit 3cc19ef

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

pkg/capabilities/capabilities.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,10 +338,28 @@ type OCRAttributedOnchainSignature struct {
338338
type TriggerExecutable interface {
339339
RegisterTrigger(ctx context.Context, request TriggerRegistrationRequest) (<-chan TriggerResponse, error)
340340
UnregisterTrigger(ctx context.Context, request TriggerRegistrationRequest) error
341+
AckEvent(ctx context.Context, triggerId string, eventId string) error
342+
}
343+
344+
type BaseTriggerCapability struct {
345+
/*
346+
Keeps track of workflow registrations (similar to LLO streams trigger).
347+
Handles retransmits based on T_retransmit and T_max.
348+
Persists pending events in the DB to be resilient to node restarts.
349+
*/
350+
}
351+
352+
func (*BaseTriggerCapability) deliverEvent(event *TriggerEvent, workflowIDs []string) error {
353+
/*
354+
Base Trigger Capability can interact with the Don2Don layer (in the remote capability setting)
355+
as well as directly with a consumer (in the local setting).
356+
*/
357+
return nil // only when the event is successfully persisted and ready to be reliably delivered
341358
}
342359

343360
// TriggerCapability interface needs to be implemented by all trigger capabilities.
344361
type TriggerCapability interface {
362+
BaseTriggerCapability
345363
BaseCapability
346364
TriggerExecutable
347365
}

0 commit comments

Comments
 (0)