def step

mylsm-lsm-store@0.6.0.1 · src/coordinator/CoordinatorPolicy.bend:99

import mylsm-lsm-store@0.6.0.1/src/coordinator/CoordinatorPolicy.bend as CoordinatorPolicy
import 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.