OptionalonCalled after an amend has landed in the commit it targets (IStore.amend, ITransaction.amend).
The commit that was amended.
The counterpart of onCommitEnd for a change that is not a commit of its own: the history did not move, but the current snapshot did, and a listener deferring work until the store has settled needs to hear it.
OptionalonOptionalonCalled when the root transaction closes, whether it committed or rolled back.
The commit handle.
true if the transaction was rolled back.
OptionalisElided: boolean
true if the root wrote nothing and no commit will land.
OptionalisAmend: booleanCalled synchronously, once per operation, after the last nested transaction has closed and before the commit reaches the log. This is where an operation's intents (ITransaction.setIntent) are resolved: no transaction is open, so the work is not part of the commit, and the depth a nested operation ran at cannot make it fire early.
A commit that wrote nothing is elided but still closes, so this still fires - and isElided
is the only warning a listener gets that onCommitEnd is NOT coming. An amend closes
here too, with isAmend: the id it closes under never lands, its writes fold into another
commit (onAmendEnd). The three
outcomes are distinct and a listener holding work until the operation settles has to tell
them apart: a rollback (isRollback) discards what the operation announced, a landing
commit releases it at onCommitEnd, and an elided root releases it here, because
nothing further will happen.
OptionalonOptionalon
Listener interface for TransactionStore