Syndicate编程:高效实现与实际应用
1. 本地无状态实现与定理应用
在编程实现中,我们可以采用本地无状态的方式,利用基于补丁的状态变更通知来实现某些功能。以需求匹配器为例,它不再需要维护最新的活动对话集合记录,也就无需进行集合减法操作。它可以依赖从网络接收到的补丁事件中的添加和删除集合来工作,示例代码如下:
actor demandMatcher ()
{?(hello, ⋆)}
∅
demandMatcher πadd
πdel
() = ([mkWorker x | (hello, x) ∈πadd] , ())
更广泛地说,定理4能让使用增量协议编写的参与者无需维护他们“之前见过”的断言集合,而是依靠网络来明确地发出断言(消失)的信号。
定理4(无重复) :对于传递给参与者的所有事件对 $e = \frac{\pi_1}{\pi_2}$ 和 $e’ = \frac{\pi_3}{\pi_4}$,仅当在 $e$ 和 $e’$ 之间传递了某个事件 $\frac{\pi_5}{\pi_6}$(其中 $c \in \pi_6$)时,$c \in \pi_1 \cap \pi_3$。对称地,$c$ 不能在中间未被断言的情况下被撤回两次。
证明(概要) :补丁规则会根据 $R$ 修剪补丁操作,以确保只有真正的变更会在事件中传递。然后更新 $R$ 以合并补丁,以便后续的补丁能依次被准确修剪。
2. 用于高效数据空间实现的Trie结构
我们在
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



