def finish.decided

mylsm-lsm-store@0.6.0.1 · src/transfer/BackupCursor.bend:245

import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursor.bend as BackupCursor
import Base
import mylsm-lsm-store@0.6.0.1/src/ByteMemTable.bend as ByteMemTable
import mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend as VisibleCursor
import mylsm-lsm-store@0.6.0.1/src/transfer/Backup.bend as Backup
import mylsm-lsm-store@0.6.0.1/src/transfer/BackupCursorPolicy.bend as Policy

245def finish.decided(
246  decision: Policy.FinishDecision,
247  cursor: Maybe<&1, VisibleCursor.Cursor>,
248  pending: List<&1, ByteMemTable.Entry>,
249  seen: Nat,
250  expected: Nat,
251  entry_count: U32,
252  block_count: U32,
253  block_index: U32
254) -> Step:
255  match decision:
256    case Policy.CursorFinishRejected{}: Failure{cursor, Backup.ResourceLimit{}}
257    case Policy.CursorFooter{}:
258      footer(cursor, seen, expected, entry_count, block_count, block_index)
259    case Policy.CursorFinalBlock{pending_count}:
260      block.encoded(cursor, pending, seen, expected, entry_count,
261        block_count, block.index.pair(block_index), pending_count,
262        CursorFooter{})

Uses (13)

Used by (1)