StateMachine
Canonical state-machine contract driving a single Restate invocation.
This is shaped after the restate-sdk-shared-core VM trait.
It is implemented twice, selected at runtime by StateMachineFactory:
- a Panama/FFM implementation calling the native
restate-sdk-shared-corelibrary, used on JDK 23+ — the path that supports the latest Restate features; - a pure-Java implementation (the legacy state machine) used on JDK <23, or when the native library is unavailable/disabled — a deprecated fallback that will be removed in a future release.
Instances of this interface are not thread-safe.
Inheritors
Types
Link copied to clipboard
interface AwaitResult
Link copied to clipboard
Link copied to clipboard
enum InvocationState
Link copied to clipboard
interface NotificationValue
Link copied to clipboard
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun completeSignal(targetInvocationId: String, signalName: String, exception: TerminalException)
Link copied to clipboard
Link copied to clipboard
Make progress on the still-uncompleted await tree rooted at
future, or return
null when nothing is left to await (every node already resolved).Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Feed the next chunk of wire input.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun proposeRunCompletion(handle: Int, exception: Throwable, attemptDuration: Duration, @Nullable retryPolicy: @Nullable RetryPolicy)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Drain the next chunk of serialized output ready for the wire, or EMPTY when nothing is buffered.
Link copied to clipboard