docs(runtime): clarify ledger authority and scheduler durability boundaries
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/**
|
||||
* runtime 使用的基础调度容器,不包含任务状态事实:FIFO 存可执行顺序,min-heap 存优先项。
|
||||
* 两者都是内存结构,ledger/checkpoint 才负责可恢复事实;容器本身不去重、不校验依赖或执行网络。
|
||||
* T 值按引用保存/返回,不复制冻结任务对象,也不以 size/clear 修改外部任务事实。
|
||||
*/
|
||||
/** FIFO with amortized O(1) removal, without Array.shift on each item. */
|
||||
/** 当前接口是先进先出队列:push 入尾、pop 出头,并非 history 的后进先出 stack。
|
||||
@@ -24,12 +25,13 @@ export function createDeque<T>() {
|
||||
},
|
||||
/** 同时丢弃底层数组和游标,释放旧任务引用。 */
|
||||
clear() { items = []; head = 0; },
|
||||
/** 返回有效区间的数组副本,外部改副本不会更改队列成员。 */
|
||||
/** 返回有效区间的浅数组副本,改副本成员位置不改队列;对象成员仍共享引用。 */
|
||||
values() { return items.slice(head); },
|
||||
};
|
||||
}
|
||||
/** 数组实现二叉最小堆,compare<0 表示左项优先;peek O(1),push/pop O(log n)。
|
||||
* 相等优先级不保证插入稳定性,上层若需要 FIFO tie-break 必须把序列写进 comparator。 */
|
||||
* 相等优先级不保证插入稳定性,上层若需要 FIFO tie-break 必须把序列写进 comparator。
|
||||
* compare 应稳定、同步且不抛错;容器不校验 comparator,比较中途异常也不提供事务回滚。 */
|
||||
export function createMinHeap<T>(compare: (left: T, right: T) => number) {
|
||||
// 父下标 (i-1)>>1,左右孩子 2i+1/2i+2;堆序只要求父不大于孩子,不是全数组排序。
|
||||
const items: T[] = [];
|
||||
|
||||
Reference in New Issue
Block a user