def item.decided

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

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

132def item.decided(
133  decision: Policy.AppendDecision,
134  cursor: Maybe<&1, VisibleCursor.Cursor>,
135  pending: List<&1, ByteMemTable.Entry>,
136  expected: Nat,
137  entry_count: U32,
138  block_count: U32,
139  block_index: U32
140) -> Step:
141  match decision:
142    case Policy.CursorRejected{}:
143      Failure{cursor, Backup.ResourceLimit{}}
144    case Policy.CursorBuffer{seen, pending_count}:
145      Continue{Stream{CursorBlocks{}, cursor, pending, pending_count,
146        seen, expected, entry_count, block_count, block_index}}
147    case Policy.CursorBlockReady{seen, pending_count}:
148      item.full(cursor, pending, seen, expected, entry_count, block_count,
149        block_index, pending_count, CursorBlocks{})

Uses (12)

Used by (1)