[engine] Veri transferi / tünelleme paritesi #30
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?
Eşler (peer) pair olduktan sonra aralarında veri tüneli üzerinden veri iletiminin Go'da paritesi. (Node'daki "Veri Transferi / Tünelleme" davranışı birebir.)
Kapsam:
acceptPair) iki peer arasında tünel:send(tek yön veri gönderimi) verequest(yanıt bekleyen istek).P2PFileSender) temeli — DataChannel'a geçmeden önce ws tüneli üzerinden parçalı aktarım.Bitti kriteri: iki paired peer arasında
sendverequestçalışıyor; paketler doğru hedefe ve bozulmadan iletiliyor; kaynak IP sızmıyor; büyük payload'da akış kontrolü var; SDK API'si değişmiyor;go test -raceyeşil.Tamamlandı (go-rewrite).
internal/services/datatransfer.go+ testleri.Kapsam / kabul kriteri:
pack/to— kimliklendirilmiş paket ({from, pack}), sunucu doğru hedefe yönlendirir. Eş pairing istemiyorsa örtük pairing kurulur.request/to→ eşerequestsinyali; cevapresponse/toile aynı request id üzerinden geri döner (out-of-band). Bu zincir #33 ile doğru çalışır hale geldi (erken yanıt yok).pack/room(+wom).fromid + payload taşır; gerçek IP / cihaz türü sızmaz (test:TestTunnelDoesNotLeakSourceAddress).MaxMessageSize16 MiB; 1 MiB chunk bozulmadan iletiliyor (test:TestTunnelLargePayloadIntact) — frontendP2PFileSenderparçalı aktarımının temeli.outboundkuyruğu + dolunca düşür-ama-kapatma politikası (decisions.md §5/§8); ölü peer write-deadline ile reaplenir.peer/disconnectsinyali (auth disconnect hook).Testler:
TestRequestResponseRoundTrip,TestTunnelDoesNotLeakSourceAddress,TestTunnelLargePayloadIntact,TestDataTransferPackToAutoPairs,TestSessionFlagGatesPackReadable.go test -race ./...yeşil.