Versions in this module Expand all Collapse all v0 v0.1.1 Jan 16, 2024 v0.1.0 Jan 12, 2024 Changes in this version + const DefaultMaxRecvBufferSize + const DefaultPortAttempts + const MinimumMaxRecvBufferSize + func AddrPortSliceTCPListener(s []*net.TCPListener) ([]netip.AddrPort, bool) + func AddrPortSliceUDPConn(s []*net.UDPConn) ([]netip.AddrPort, bool) + func Bind(cfg *Config) ([]*net.TCPListener, []*net.UDPConn, error) + func IPAddresses(s []netip.AddrPort) ([]netip.Addr, bool) + func SamePort(s []netip.AddrPort) (uint16, bool) + func StringIPAddresses(s []netip.AddrPort) ([]string, bool) + type AllListener interface + ListenAll func(network string, addr []string) ([]net.Listener, error) + ListenAllPacket func(network string, addr []string) ([]net.PacketConn, error) + type AllTCPListener interface + ListenAllTCP func(network string, ladders []*net.TCPAddr) ([]*net.TCPListener, error) + type AllUDPListener interface + ListenAllUDP func(network string, ladders []*net.UDPAddr) ([]*net.UDPConn, error) + type Config struct + Addresses []string + DefaultPort uint16 + Interfaces []string + ListenTCP func(network string, laddr *net.TCPAddr) (*net.TCPListener, error) + ListenUDP func(network string, laddr *net.UDPAddr) (*net.UDPConn, error) + MaxRecvBufferSize int + OnlyTCP bool + OnlyUDP bool + Port uint16 + PortAttempts int + PortStrict bool + func (cfg *Config) Addrs() ([]net.IP, error) + func (cfg *Config) Bind() ([]*net.TCPListener, []*net.UDPConn, error) + func (cfg *Config) Refresh(s []netip.AddrPort) bool + func (cfg *Config) RefreshFromTCPListeners(tcpListeners []*net.TCPListener) bool + func (cfg *Config) RefreshFromUDPConn(udpListeners []*net.UDPConn) bool + func (cfg *Config) SetDefaults() error + func (cfg *Config) UseListener(lc TCPUDPListener) + type ListenConfig struct + Context context.Context + func NewListenConfig(ctx context.Context, keepalive time.Duration) *ListenConfig + func (lc ListenConfig) Listen(network, addr string) (net.Listener, error) + func (lc ListenConfig) ListenAll(network string, addrs []string) ([]net.Listener, error) + func (lc ListenConfig) ListenAllPacket(network string, addrs []string) ([]net.PacketConn, error) + func (lc ListenConfig) ListenAllTCP(network string, laddrs []*net.TCPAddr) ([]*net.TCPListener, error) + func (lc ListenConfig) ListenAllUDP(network string, laddrs []*net.UDPAddr) ([]*net.UDPConn, error) + func (lc ListenConfig) ListenPacket(network, addr string) (net.PacketConn, error) + func (lc ListenConfig) ListenTCP(network string, laddr *net.TCPAddr) (*net.TCPListener, error) + func (lc ListenConfig) ListenUDP(network string, laddr *net.UDPAddr) (*net.UDPConn, error) + func (lc ListenConfig) WithUpgrader(upg Upgrader) *UpgraderListenConfig + type Listener interface + Listen func(network, addr string) (net.Listener, error) + ListenPacket func(network, addr string) (net.PacketConn, error) + type TCPListener interface + ListenTCP func(network string, laddr *net.TCPAddr) (*net.TCPListener, error) + type TCPUDPListener interface + type UDPListener interface + ListenUDP func(network string, laddr *net.UDPAddr) (*net.UDPConn, error) + type Upgrader interface + ListenPacketWithCallback func(network, addr string, ...) (net.PacketConn, error) + ListenWithCallback func(network, addr string, ...) (net.Listener, error) + type UpgraderListenConfig struct + func (lu UpgraderListenConfig) Listen(network, addr string) (net.Listener, error) + func (lu UpgraderListenConfig) ListenAll(network string, addrs []string) ([]net.Listener, error) + func (lu UpgraderListenConfig) ListenAllPacket(network string, addrs []string) ([]net.PacketConn, error) + func (lu UpgraderListenConfig) ListenAllTCP(network string, laddrs []*net.TCPAddr) ([]*net.TCPListener, error) + func (lu UpgraderListenConfig) ListenAllUDP(network string, laddrs []*net.UDPAddr) ([]*net.UDPConn, error) + func (lu UpgraderListenConfig) ListenPacket(network, addr string) (net.PacketConn, error) + func (lu UpgraderListenConfig) ListenTCP(network string, laddr *net.TCPAddr) (*net.TCPListener, error) + func (lu UpgraderListenConfig) ListenUDP(network string, laddr *net.UDPAddr) (*net.UDPConn, error)