文件名称:lua-eventsourcing
文件大小:127KB
文件格式:ZIP
更新时间:2024-04-05 22:29:17
Lua
《魔兽世界》的事件采购 WoW插件通常需要在多个客户端之间保持某种状态。 一个典型的例子是DKP或行会战利品历史。 保持复杂状态的挑战通常是同步和合并。 该库通过使用事件源解决了同步问题。 我们存储带有时间戳(4字节),创建者ID(4字节),计数器(1字节)的简单事件。 使用自定义功能对事件进行绝对排序 通过按顺序执行每个事件的处理程序来确定性地得出状态 从现在起,称为分类帐的事件日志仅是插入操作,无法从中删除任何事件 拥有仅插入数据存储区可以使我们简化同步。 在将任何事件添加到本地存储或通过任何广播通道发送出去之前,我们使用授权处理程序来允许图书馆使用者决定其信任模型。 UI冻结 发送大数据集的一个常见问题是,在对数据进行序列化或未序列化时,UI会冻结。 该库将同步较小的数据集,以防止冻结。 播放事件(即计算状态)是在循环计时器上分批完成的。 这给了我们2个旋钮(批处理大小,间隔)
【文件预览】:
lua-eventsourcing-master
----.luacheckrc(524KB)
----.gitignore(12B)
----readme.MD(3KB)
----LedgerFactory.lua(3KB)
----LibEventSourcing.toc(118B)
----LibEventSourcing.xml(674B)
----LibEventSourcing.lua(618B)
----LogEntry.lua(2KB)
----Util.lua(7KB)
----.github()
--------workflows()
----wow.lua(2KB)
----tests.lua(1KB)
----StatusDisplay.lua(1KB)
----gitman.yml(205B)
----ListSync.lua(13KB)
----source()
--------PercentageDecayEntry.lua(936B)
--------AdvertiseHashMessage.lua(646B)
--------SnapshotEntry.lua(692B)
--------WeekDataMessage.lua(715B)
--------TextMessageEntry.lua(740B)
--------PlayerAmountEntry.lua(913B)
--------Message.lua(980B)
--------RequestWeekMessage.lua(461B)
--------BulkDataMessage.lua(649B)
--------StartEntry.lua(461B)
----SortedList.lua(6KB)
----StateManager.lua(8KB)