diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/SingleThreadedStateMachineManager.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/SingleThreadedStateMachineManager.kt index 6e9bcad02d..b61aa7e51f 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/SingleThreadedStateMachineManager.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/SingleThreadedStateMachineManager.kt @@ -21,7 +21,11 @@ import net.corda.core.internal.concurrent.OpenFuture import net.corda.core.internal.concurrent.map import net.corda.core.internal.concurrent.openFuture import net.corda.core.messaging.DataFeed -import net.corda.core.serialization.* +import net.corda.core.serialization.SerializationContext +import net.corda.core.serialization.SerializationDefaults +import net.corda.core.serialization.SerializedBytes +import net.corda.core.serialization.deserialize +import net.corda.core.serialization.serialize import net.corda.core.utilities.ProgressTracker import net.corda.core.utilities.Try import net.corda.core.utilities.contextLogger @@ -32,9 +36,12 @@ import net.corda.node.services.api.ServiceHubInternal import net.corda.node.services.config.shouldCheckCheckpoints import net.corda.node.services.messaging.DeduplicationHandler import net.corda.node.services.messaging.ReceivedMessage -import net.corda.node.services.statemachine.interceptors.* +import net.corda.node.services.statemachine.interceptors.DumpHistoryOnErrorInterceptor +import net.corda.node.services.statemachine.interceptors.FiberDeserializationChecker +import net.corda.node.services.statemachine.interceptors.FiberDeserializationCheckingInterceptor +import net.corda.node.services.statemachine.interceptors.HospitalisingInterceptor +import net.corda.node.services.statemachine.interceptors.PrintingInterceptor import net.corda.node.services.statemachine.transitions.StateMachine -import net.corda.node.services.statemachine.transitions.StateMachineConfiguration import net.corda.node.utilities.AffinityExecutor import net.corda.nodeapi.internal.persistence.CordaPersistence import net.corda.nodeapi.internal.persistence.wrapWithDatabaseTransaction @@ -277,8 +284,6 @@ class SingleThreadedStateMachineManager( } } - private val stateMachineConfiguration = StateMachineConfiguration.default - private fun checkQuasarJavaAgentPresence() { check(SuspendableHelper.isJavaAgentActive(), { """Missing the '-javaagent' JVM argument. Make sure you run the tests with the Quasar java agent attached to your JVM. @@ -571,7 +576,7 @@ class SingleThreadedStateMachineManager( database = database, transitionExecutor = transitionExecutor, actionExecutor = actionExecutor!!, - stateMachine = StateMachine(id, stateMachineConfiguration, secureRandom), + stateMachine = StateMachine(id, secureRandom), serviceHub = serviceHub, checkpointSerializationContext = checkpointSerializationContext!! ) diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/StateMachine.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/StateMachine.kt index 29e29746cc..1b7c77a2f2 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/StateMachine.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/StateMachine.kt @@ -1,30 +1,15 @@ package net.corda.node.services.statemachine.transitions -import net.corda.core.flows.* -import net.corda.node.services.statemachine.* +import net.corda.core.flows.StateMachineRunId +import net.corda.node.services.statemachine.Event +import net.corda.node.services.statemachine.StateMachineState import java.security.SecureRandom -/** - * @property eventQueueSize the size of a flow's event queue. If the queue gets full the thread scheduling the event - * will block. An example scenario would be if the flow is waiting for a lot of messages at once, but is slow at - * processing each. - */ -data class StateMachineConfiguration( - val eventQueueSize: Int -) { - companion object { - val default = StateMachineConfiguration( - eventQueueSize = 16 - ) - } -} - class StateMachine( val id: StateMachineRunId, - val configuration: StateMachineConfiguration, val secureRandom: SecureRandom ) { fun transition(event: Event, state: StateMachineState): TransitionResult { - return TopLevelTransition(TransitionContext(id, configuration, secureRandom), state, event).transition() + return TopLevelTransition(TransitionContext(id, secureRandom), state, event).transition() } } diff --git a/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/Transition.kt b/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/Transition.kt index a68407adc2..5a1cbb6797 100644 --- a/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/Transition.kt +++ b/node/src/main/kotlin/net/corda/node/services/statemachine/transitions/Transition.kt @@ -28,6 +28,5 @@ interface Transition { class TransitionContext( val id: StateMachineRunId, - val configuration: StateMachineConfiguration, val secureRandom: SecureRandom )