Commit Graph

2 Commits

Author SHA1 Message Date
abdussamedulutas 91ebbeffb2 #33: EventPool WOM — askıda kalan promise düzeltmesi
Engine: dispatcher handler nil dönerse yanıt göndermez (nil = yanıt yok /
cevap out-of-band gelecek). Bu, request/to'nun erken [null,id,'E'] ile
ezilmesini önler; gerçek cevap response/to ile aynı id üzerinden gelir.

SDK: EventPool.only() WOM yolu eklendi (waiter bırakmaz); Peer.send ve
Room.send handshake'siz dalı request() yerine only() kullanır. Public API
değişmedi.

Test: TestServerNoReplyOnNilResult, TestRequestResponseRoundTrip,
TestTunnelDoesNotLeakSourceAddress, TestTunnelLargePayloadIntact. go test -race yeşil.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 08:11:29 +03:00
abdussamedulutas 835f0b5f2e Go engine portu (0.1.0 çekirdek) — Node.js engine'i race-free Go'ya taşı
MWSE engine'i (Source/) performans odaklı, eşzamanlılık-güvenli bir Go
projesine taşır. WSTS tel sözleşmesi (SDK giriş/çıkış) korunur; frontend
dokunulmadan çalışmaya devam eder.

- internal/protocol: WSTS encode/decode (request/response/stream/signal)
- internal/ws: Client (bağlantı-başına tek-yazıcı), Room (RWMutex + snapshot
  broadcast), Hub (kayıt + router + event bus), Server (yaşam döngüsü, saQut
  heartbeat). #22 "ayrılırken-yazma" race'i yapısal olarak çözüldü.
- internal/services: YourID, Session, Auth, Room, IPPressure, DataTransfer
  portu (Node'daki bariz bug'lar düzeltildi; tel şekilleri korundu).
- internal/config, internal/httpserver: env config, statik + /api + graceful
  shutdown.
- loadtest/: ayrı modül — ping/relay yük testi + benchmark istemcisi.

go build/vet/test -race ./... yeşil. TestLeaveWhileSendRace regresyonu temiz.
Uçtan uca doğrulandı: ping ~140k req/s (p50 ~200µs, 0 hata),
relay ~190k msg/s (%98.5 teslim).

İnsan onayına bırakılanlar REVIEW.md'de; kararlar decisions.md'de;
durum PORT-PROGRESS.md'de. Hiçbir issue kapatılmadı, stable'a dokunulmadı,
deploy/push yapılmadı.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 07:09:36 +03:00