Drivine Extraction Run Store
constructor(persistenceManager: <Error class: unknown class>, transactionManager: <Error class: unknown class>, clock: Clock = Clock.systemUTC(), listener: DiceEventListener = DiceEventListener.DEV_NULL)
Parameters
persistence Manager
Drivine's handle on the neo datasource.
transaction Manager
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.