def response.validation.fields

mylsm-lsm-store@0.6.0.1 · src/coordinator/Client.bend:135

import mylsm-lsm-store@0.6.0.1/src/coordinator/Client.bend as Client
import Base
import mylsm-lsm-store@0.6.0.1/src/coordinator/ClientPolicy.bend as Policy

135def response.validation.fields(
136  response_fields: U32 & U32 & U32,
137  request_fields: U32 & U32 & U32,
138  generations: U32 & U32 & U32
139) -> Policy.Decision:
140  match response_fields:
141    case (version, (response_generation, request_id)):
142      match request_fields:
143        case (request_version, (request_generation, expected_id)):
144          match generations:
145            case (response_generation_check,
146                (request_generation_check, generation)):
147              Policy.response.validate(
148                U32.to_nat(generation),
149                U32.is_eq(response_generation, response_generation_check) &&
150                  U32.is_eq(request_generation, request_generation_check),
151                U32.is_eq(version, request_version) &&
152                  U32.is_eq(request_id, expected_id))

Uses (8)

Used by (1)