def describe.result

mylsm-lsm-store@0.6.0.1 · src/coordinator/ByteClient.bend:25

import mylsm-lsm-store@0.6.0.1/src/coordinator/ByteClient.bend as ByteClient
import Base
import mylsm-lsm-store@0.6.0.1/src/coordinator/Client.bend as Client
import mylsm-lsm-store@0.6.0.1/src/coordinator/Protocol.bend as Protocol
import mylsm-lsm-store@0.6.0.1/src/coordinator/OptionsCodec.bend as OptionsCodec

25def describe.result(
26  pair: Client.Session & Result<&1, &1, Client.Error, Protocol.Response>
27) -> Client.Session & Result<&1, &1, Client.Error, OptionsCodec.Decision>:
28  match pair:
29    case (session, Fail{error}): (session, Fail{error})
30    case (session, Done{Protocol.Response{_, _, _, status, payload}}):
31      match status:
32        case Protocol.Success{}: (session, Done{OptionsCodec.decode(payload)})
33        case _: (session, Fail{Client.OwnerRejected{status}})

Uses (9)

Used by (1)