def validate.policy
mylsm-lsm-store@0.6.0.1 · src/coordinator/Protocol.bend:731
import mylsm-lsm-store@0.6.0.1/src/coordinator/Protocol.bend as Protocol
import Base
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
731def validate.policy(
732 request_id: U32,
733 operation: U32,
734 payload: Bytes.Bytes,
735 version_valid: Bool,
736 generation_valid: Bool,
737 operation_valid: Bool,
738 size_valid: Bool
739) -> Decision:
740 match version_valid:
741 case False{}: VersionMismatch{}
742 case True{}:
743 match generation_valid:
744 case False{}: StaleGeneration{}
745 case True{}:
746 match operation_valid:
747 case False{}: UnsupportedRequestOperation{}
748 case True{}:
749 match size_valid:
750 case False{}: ResourceLimit{}
751 case True{}: Accepted{request_id, operation, payload}