跳到主要内容

SyncHistoryBridge

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:33

Internal

同步插件可见的历史侧能力。

Remarks​

由 VersionManager.syncBridge 提供,SyncManager 在构造时接过去。

Properties​

pushInFlight​

readonly pushInFlight: PushInFlightRegistry;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:42

「哪些变更此刻正在飞往远端」的登记处。

Remarks​

push 与 undo 唯一的会合点,主人是 VersionManager —— undo 侧经 rxdb.versionManager.pushInFlight 读它,push 侧经本桥认领区间。 两边读的必须是同一个实例,见 PushInFlightRegistry。

Methods​

beginPullableSettlement()​

beginPullableSettlement(): number;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:64

pull 开始前签发结算令牌。

Returns​

number

令牌,交回 settlePull / settleAbortedPull / reconcilePullableCount

Remarks​

必须在真正发起 pull 之前取:拉取期间到达的远端事件描述的是快照之后的新变更, 结算时要能看出来,否则「完整同步」的归零会把它们一起吞掉。


clearUndoHistory()​

clearUndoHistory(): void;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:52

与远端合并之后清空当前分支的 undo/redo —— 合并前的内容已经 undo 不回去了

Returns​

void


incrementPullableCount()​

incrementPullableCount(count): void;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:99

远端事件到达时累加待拉计数。

Parameters​

ParameterTypeDescription
countnumber本次事件里属于当前激活分支的条数

Returns​

void


reconcilePullableCount()​

reconcilePullableCount(token, count): void;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:92

用远端水位线校准待拉计数。

Parameters​

ParameterTypeDescription
tokennumberbeginPullableSettlement 签发的令牌
countnumber按各仓库持久化水位线算出的待拉总数

Returns​

void


settleAbortedPull()​

settleAbortedPull(token, pulled): void;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:84

按一次抛错 pull 已落库的部分结算待拉计数。

Parameters​

ParameterTypeDescription
tokennumberbeginPullableSettlement 签发的令牌
pullednumber抛错前已经真实落库的条数,一条都没落时传 0

Returns​

void

Remarks​

令牌必须收回,否则代次永远停在旧值,后续结算全被判成「并发」。


settlePull()​

settlePull(
token,
options,
result
): void;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:73

按一次成功 pull 的实际覆盖范围结算待拉计数。

Parameters​

ParameterTypeDescription
tokennumberbeginPullableSettlement 签发的令牌
optionsPullOptions | undefined发起 pull 时的选项
resultPullResultpull 的结果

Returns​

void


syncing()​

syncing<T>(fn): Promise<T>;

Defined in: packages/rxdb-plugin-history/src/sync-history-bridge.ts:49

在可重入同步上下文中执行:期间产生的本地写入不进 undo/redo 栈。

Type Parameters​

Type Parameter
T

Parameters​

ParameterTypeDescription
fn() => Promise<T>同步动作

Returns​

Promise<T>