[data-sync] Notify System (offline store-and-forward) #43
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kullanıcı o an aktif bağlı değilken sunucudan veya diğer client'lardan gelen mesajların, kullanıcı bağlandığında iletilebilmesini sağlayan store-and-forward sistemi.
Davranış:
Bitti kriteri: offline kullanıcıya bırakılan mesaj, bağlanınca iletiliyor; iz id ile teslim durumu sorgulanabiliyor; testler yeşil.
Tamamlandı (go-rewrite, commit
441093b).internal/notify+internal/services/notify.go.Davranış:
notify/send {to, pack, expires?, suit?}→ hedef online ise hemennotifysinyali ile teslim, offline ise kuyruğa alınır ve hedef bağlanınca (OnConnect flush) teslim edilir. Her bildirim bir trace id taşır;notify/status {trace}ile teslim/cevap durumu sorgulanır. Geçerlilik: bildirim başına TTL (vars. 24s,expiresile saniye cinsinden ayarlanır).Leak yok: TTL + hedef-başına sınır (en eski düşer) + periyodik janitor (main.go başlatır/durdurur) → hiç bağlanmayan hedef için bile sınırsız büyüme olmaz.
Test:
TestNotifyOfflineThenDeliverOnConnect,TestNotifyImmediateWhenOnline, store birim testleri (expiry/purge/cap).go test -raceyeşil.