From d010e6a7e9e643503bb027f09af378cc9fd8e464 Mon Sep 17 00:00:00 2001 From: Patricio Whittingslow Date: Thu, 14 May 2026 12:59:57 -0300 Subject: [PATCH] API touch ups --- x/xnet/stack-async.go | 6 +++--- x/xnet/stack-go.go | 2 +- x/xnet/xnet_concurrent_test.go | 2 +- x/xnet/xnet_listener_test.go | 4 ++-- x/xnet/xnet_mdns_test.go | 8 ++++---- x/xnet/xnet_subnettable_test.go | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/x/xnet/stack-async.go b/x/xnet/stack-async.go index 5df5aaf..b978236 100644 --- a/x/xnet/stack-async.go +++ b/x/xnet/stack-async.go @@ -489,7 +489,7 @@ func (s *StackAsync) ListenTCP4(conn *tcp.Conn, localPort uint16) (err error) { return nil } -func (s *StackAsync) RegisterListener(listener *tcp.Listener) (err error) { +func (s *StackAsync) RegisterListenerTCP(listener *tcp.Listener) (err error) { // TODO(pato): Possible to forward both IPv4 and IPv6 packets to the listener and have it selectively mux out correctly? // Can try changing listener to inspect carrierData on demux and get the IPversion to know which tcp.Conns match the IP version. s.mu.Lock() @@ -500,7 +500,7 @@ func (s *StackAsync) RegisterListener(listener *tcp.Listener) (err error) { // RegisterUDP4 registers a StackNode on a UDP port with the given remote address and port. // The StackUDPPort wrapping is handled internally. The number of user-registered UDP ports // is limited by [StackConfig.MaxUDPConns]. -func (s *StackAsync) RegisterUDP4(node lneto.StackNode, remoteAddr []byte, remotePort uint16) error { +func (s *StackAsync) RegisterUDP4(node lneto.StackNode, remoteAddr [4]byte, remotePort uint16) error { s.mu.Lock() defer s.mu.Unlock() idx := len(s.userUDPs) @@ -508,7 +508,7 @@ func (s *StackAsync) RegisterUDP4(node lneto.StackNode, remoteAddr []byte, remot return lneto.ErrExhausted } s.userUDPs = s.userUDPs[:idx+1] - s.userUDPs[idx].SetStackNode(node, remoteAddr, remotePort) + s.userUDPs[idx].SetStackNode(node, remoteAddr[:], remotePort) return s.udps.RegisterMACFiltered(&s.userUDPs[idx], nil) } diff --git a/x/xnet/stack-go.go b/x/xnet/stack-go.go index 958cad2..0d38bc1 100644 --- a/x/xnet/stack-go.go +++ b/x/xnet/stack-go.go @@ -187,7 +187,7 @@ func (s StackGo) SocketNetip(ctx context.Context, network string, family, sotype if err != nil { return nil, err } - err = s.blk.async.RegisterListener(&l.l) + err = s.blk.async.RegisterListenerTCP(&l.l) if err != nil { return nil, err } diff --git a/x/xnet/xnet_concurrent_test.go b/x/xnet/xnet_concurrent_test.go index 5bd4be7..630fea2 100644 --- a/x/xnet/xnet_concurrent_test.go +++ b/x/xnet/xnet_concurrent_test.go @@ -63,7 +63,7 @@ func TestTCPListener_ConcurrentEcho(t *testing.T) { if err != nil { t.Fatal(err) } - err = serverStack.RegisterListener(&listener) + err = serverStack.RegisterListenerTCP(&listener) if err != nil { t.Fatal(err) } diff --git a/x/xnet/xnet_listener_test.go b/x/xnet/xnet_listener_test.go index 7de522e..3f7b783 100644 --- a/x/xnet/xnet_listener_test.go +++ b/x/xnet/xnet_listener_test.go @@ -72,7 +72,7 @@ func TestStackAsyncListener_SingleConnection(t *testing.T) { if err != nil { t.Fatal(err) } - err = sv.RegisterListener(&listener) + err = sv.RegisterListenerTCP(&listener) if err != nil { t.Fatal(err) } @@ -160,7 +160,7 @@ func TestStackAsyncListener_MultiSequentialConn(t *testing.T) { if err != nil { t.Fatal(err) } - err = sv.RegisterListener(&listener) + err = sv.RegisterListenerTCP(&listener) if err != nil { t.Fatal(err) } diff --git a/x/xnet/xnet_mdns_test.go b/x/xnet/xnet_mdns_test.go index 0fc7283..ae056f2 100644 --- a/x/xnet/xnet_mdns_test.go +++ b/x/xnet/xnet_mdns_test.go @@ -38,7 +38,7 @@ func TestMDNS_QueryResponse(t *testing.T) { responderMAC := [6]byte{0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x01} querierAddr := [4]byte{192, 168, 1, 100} querierMAC := [6]byte{0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0x02} - mcastAddr := []byte{224, 0, 0, 251} + mcastAddr := [4]byte{224, 0, 0, 251} // Setup responder stack with mDNS service. responderStack := new(StackAsync) @@ -60,7 +60,7 @@ func TestMDNS_QueryResponse(t *testing.T) { err = responderClient.Configure(mdns.ClientConfig{ LocalPort: mdns.Port, Services: []mdns.Service{svc}, - MulticastAddr: mcastAddr, + MulticastAddr: mcastAddr[:], }) if err != nil { t.Fatal("responder configure:", err) @@ -89,7 +89,7 @@ func TestMDNS_QueryResponse(t *testing.T) { var querierClient mdns.Client err = querierClient.Configure(mdns.ClientConfig{ LocalPort: mdns.Port, - MulticastAddr: mcastAddr, + MulticastAddr: mcastAddr[:], }) if err != nil { t.Fatal("querier configure:", err) @@ -297,7 +297,7 @@ func newMDNSStack(t *testing.T, hostname string, seed int64, t.Fatal(hostname, "mdns configure:", err) } - err = stack.RegisterUDP4(&client, mdnsCfg.MulticastAddr, mdns.Port) + err = stack.RegisterUDP4(&client, addr.As4(), mdns.Port) if err != nil { t.Fatal(hostname, "register udp:", err) } diff --git a/x/xnet/xnet_subnettable_test.go b/x/xnet/xnet_subnettable_test.go index 28e8e38..2c486ca 100644 --- a/x/xnet/xnet_subnettable_test.go +++ b/x/xnet/xnet_subnettable_test.go @@ -81,7 +81,7 @@ func TestStackAsync_ListenerSynAckAddressedToClient(t *testing.T) { if err = listener.Reset(svPort, pool); err != nil { t.Fatal(err) } - if err = sv.RegisterListener(&listener); err != nil { + if err = sv.RegisterListenerTCP(&listener); err != nil { t.Fatal(err) }