Tcp buffer bug fix (#79)

* start working on tracking down tcp buffer bug

* mtu refactor

* modularize test

* more precise testing

* tests fail, but is it the failure we are looking for?

* fix typo in espradio link (#76)

* implement a new backoff abstraction (#75)

* rewrite backoff api

* rewrite tcp.Conn.Write

* keep fixing small things

* much better Conn.Read implementation

* fix critical overflow bug in internal.ConnRWBackoff

---------

Co-authored-by: Joel Wetzell <jwetzell@yahoo.com>
This commit is contained in:
Pat Whittingslow
2026-04-14 19:11:29 -03:00
committed by GitHub
parent 5bde7a9979
commit 75a812a8d7
22 changed files with 354 additions and 109 deletions
+4 -4
View File
@@ -14,7 +14,7 @@ import (
)
func TestMDNS_QueryResponse(t *testing.T) {
const MTU = 1500
const MTU = ethernet.MaxMTU
svcName, err := dns.NewName("My Web._http._tcp.local")
if err != nil {
t.Fatal(err)
@@ -196,7 +196,7 @@ func TestMDNS_QueryResponse(t *testing.T) {
}
func TestMDNS_SRVThroughStack(t *testing.T) {
const MTU = 1500
const MTU = ethernet.MaxMTU
svcName, err := dns.NewName("My Web._http._tcp.local")
if err != nil {
t.Fatal(err)
@@ -275,7 +275,7 @@ func newMDNSStack(t *testing.T, hostname string, seed int64,
mdnsCfg mdns.ClientConfig,
) (*StackAsync, *mdns.Client) {
t.Helper()
const MTU = 1500
const MTU = ethernet.MaxMTU
stack := new(StackAsync)
err := stack.Reset(StackConfig{
Hostname: hostname,
@@ -335,7 +335,7 @@ func mdnsQueryRespond(t *testing.T, querier, responder *StackAsync, buf []byte)
}
func TestMDNS_RealWorldQueries(t *testing.T) {
const MTU = 1500
const MTU = ethernet.MaxMTU
responderMAC := [6]byte{0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x01}
querierMAC := [6]byte{0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x02}