mirror of
https://github.com/corda/corda.git
synced 2024-12-20 21:43:14 +00:00
796e92b512
The state machines state is held within `InnerState` which lived inside the SMM. `InnerState` has been extracted out of the SMM to allow the SMM to be refactored in the future. Smaller classes can now be made that focus on a single goal as the locking of the state can be accessed from external classes. To achieve this, pass the `InnerState` into the class and request a lock if needed. The locking of `InnerState` has been made a property of the `InnerState` itself. It has a `lock` field that allows locks to be taken out when needed. An inline `withLock` function has been added to tidy up the code and not harm performance. Some classes have been made internal to prevent invalid usage of purely node internal classes. As part of this change, flow timeouts have been extracted out into `FlowTimeoutScheduler`. |
||
---|---|---|
.. | ||
capsule | ||
djvm | ||
src | ||
build.gradle |