DrivineExtractionRunStore

constructor(persistenceManager: <Error class: unknown class>, transactionManager: <Error class: unknown class>, clock: Clock = Clock.systemUTC(), listener: DiceEventListener = DiceEventListener.DEV_NULL)

Parameters

persistenceManager

Drivine's handle on the neo datasource.

transactionManager

used to own a transaction when no caller has one, so a lost compare-and-set race can be recovered in a transaction the race did not already poison.

clock

supplies the instant a terminal write is recorded at. Informational, and injectable so a test can pin it; nothing sorts or compares on it.

listener

Notified when a run ends. Defaults to DiceEventListener.DEV_NULL, so a host that has nothing listening constructs the store the way it always did. Handlers run inline on whichever thread the announcement happens on, and throw isolation belongs to the listener — wrap it in SafeDiceEventListener for graceful degradation.