This repository was archived by the owner on Aug 3, 2026. It is now read-only.
Repository navigation
EpogArmory v0.46 — manifest-based sync
Pre-release
Pre-release
Manifest-based sync — kills the "[store] SKIP: existing set is newer (T vs T)" duplicate-send waste.
User report from a guild sync: lots of [store] SKIP: Poonchy (set 3) — existing set is newer (20:02:32 vs 20:02:32) because the responder was sending sets the requester already had at the same scanTime. The requester ingested them, validated, and rejected as not-newer. Pure bandwidth waste — and on a 100+ player DB that's most of the response.
What changed
SYNCREQpayload now carries a manifest:guid:group:scanTime;guid:group:scanTime;...of every set the requester already has stored.- Responder parses the manifest, builds a
requesterHas[guid][group] = scanTimelookup, and skips any (guid, set) where their stored scanTime ≥ ours. New debug line:[sync] responding to <name>: queued N, skipped M (already fresh). - Per-(guid, group) entries — not per-player max scanTime — so spec-1 from yesterday and spec-2 from a month ago are tracked independently.
- Sizing: ~30 bytes per entry. 100 players × ~1.5 sets ≈ 4.5 KB. Outgoing SYNCREQ now uses
MakeChunks(was hard-coded^1^1^) since multi-chunk delivery is now needed.
Backward compatibility
- Old responder (≤v0.45) gets v0.46 SYNCREQ: sees an extra field,
strsplitreturns it as the 5th value, old code ignores it. Sends everything as before. - v0.46 responder gets old SYNCREQ:
manifestStris nil,ParseSyncManifest("")returns{}, dedup check falls through. Sends everything as before. - Both sides need v0.46 for the optimization. Mixed deployments fall back gracefully.
Install
Extract to <WoW>/Interface/AddOns/. The folder name inside the zip (EpogArmory) is what should land — overwrite any previous version.