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