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))