def step
import mylsm-lsm-store@0.6.0.1/src/coordinator/CoordinatorPolicy.bend as CoordinatorPolicyimport Base
99# Applies one lifecycle event without performing host effects.
100def step(state: State, event: OwnerEvent) -> Decision:
101 match state:
102 case Starting{}:
103 match event:
104 case AcquireLock{}: Advance{Locked{}}
105 case Failure{}: Advance{Failed{}}
106 case _: Reject{}
107 case Locked{}:
108 match event:
109 case RecoveryComplete{}: Advance{Recovered{}}
110 case Failure{}: Advance{Failed{}}
111 case _: Reject{}
112 case Recovered{}:
113 match event:
114 case PublishEndpoint{}: Advance{Serving{}}
115 case Failure{}: Advance{Failed{}}
116 case _: Reject{}
117 case Serving{}:
118 match event:
119 case BeginShutdown{}: Advance{Stopping{}}
120 case Failure{}: Advance{Failed{}}
121 case _: Reject{}
122 case Stopping{}:
123 match event:
124 case RemoveEndpoint{}: Advance{EndpointRemoved{}}
125 case Failure{}: Advance{Failed{}}
126 case _: Reject{}
127 case EndpointRemoved{}:
128 match event:
129 case ReleaseLock{}: Advance{Closed{}}
130 case Failure{}: Advance{Failed{}}
131 case _: Reject{}
132 case Closed{}: Reject{}
133 case Failed{}: Reject{}
Uses (3)
Used by (0)
No other definition uses this definition.