// Copyright (c) Tailscale Inc & AUTHORS // SPDX-License-Identifier: BSD-3-Clause package magicsock import ( "net/netip" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" "tailscale.com/types/nettype" ) var ( // This acts as a compile-time check for our usage of ipv6.Message in // batchingConn for both IPv6 and IPv4 operations. _ ipv6.Message = ipv4.Message{} ) // batchingConn is a nettype.PacketConn that provides batched i/o. type batchingConn interface { nettype.PacketConn ReadBatch(msgs []ipv6.Message, flags int) (n int, err error) WriteBatchTo(buffs [][]byte, addr netip.AddrPort) error }