def snapshot.cursor.close.decision

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

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/OwnerCursorCodec.bend as OwnerCursorCodec

446# Releases one owner cursor token through the serialized session.
447# Maps one pure close-response decision into a client result.
448def snapshot.cursor.close.decision(
449  decision: OwnerCursorCodec.CloseDecision
450) -> Result<&1, &1, Client.Error, Unit>:
451  match decision:
452    case OwnerCursorCodec.CloseSucceeded{}: Done{Unit{}}
453    case OwnerCursorCodec.CloseRejected{status}:
454      Fail{Client.OwnerRejected{status}}
455    case OwnerCursorCodec.CloseMalformed{}:
456      Fail{Client.MalformedResponse{}}

Uses (4)

Used by (1)