def open.role

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

import mylsm-lsm-store@0.6.0.1/src/coordinator/CoordinatorPolicy.bend as CoordinatorPolicy
import Base

75# Chooses local ownership or an established endpoint from lock observations.
76def open.role(lock: LockOutcome, endpoint: EndpointOutcome) -> OpenRole:
77  match lock:
78    case LockAcquired{}: LocalOwner{}
79    case LockBusy{}:
80      match endpoint:
81        case EndpointPresent{}: ExistingOwnerClient{}
82        case EndpointMissing{}: ReturnBusy{}
83        case EndpointFailed{}: PropagateOpenFailure{}
84    case LockFailed{}: PropagateOpenFailure{}

Uses (3)

Used by (2)