netutil

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2018 License: MIT Imports: 7 Imported by: 27

README

GitHub release GoDoc CircleCI Go Report Card

Add-ons for networking

This package overrides a package of the same name.

Features

  • Functions for IPv4 address space.
  • Functions to identify network errors.
  • Functions for TLS constants.
  • Utilities for TCP keep-alive.
  • Interface to half-close connections.
  • golang.org/x/net/netutil functions.

Usage

Read the documentation.

License

MIT

Documentation

Overview

Package netutil provides a few more network utilities over golang.org/x/net/netutil.

This package overrides netutil namespace since it provides all functions in golang.org/x/net/netutil.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrIPv6 is an error that a function does not support IPv6.
	ErrIPv6 = errors.New("only IPv4 address is supported")
)

Functions

func CipherSuiteString added in v1.1.0

func CipherSuiteString(suite uint16) string

CipherSuiteString returns string ID for the given cipher suite defined in crypto/tls.

func HostsFunc

func HostsFunc(n *net.IPNet) (func() net.IP, error)

HostsFunc returns a function to generate all IP addresses in a network. The network address and the broadcast address of the network will be excluded.

The returned function will finally generate nil to tell the end.

The network must be an IPv4 network.

func IP4ToInt

func IP4ToInt(ip net.IP) uint32

IP4ToInt returns uint32 value for an IPv4 address. If ip is not an IPv4 address, this returns 0.

func IntToIP4

func IntToIP4(n uint32) net.IP

IntToIP4 does the reverse of IP4ToInt.

func IsConnectionRefused added in v1.0.1

func IsConnectionRefused(err error) bool

IsConnectionRefused returns true if err indicates ECONNREFUSED errno.

func IsNetworkUnreachable added in v1.0.1

func IsNetworkUnreachable(err error) bool

IsNetworkUnreachable returns true if err indicates ENETUNREACH errno.

func IsNoRouteToHost added in v1.0.1

func IsNoRouteToHost(err error) bool

IsNoRouteToHost returns true if err indicates EHOSTUNREACH errno.

func KeepAliveListener

func KeepAliveListener(l net.Listener) net.Listener

KeepAliveListener returns TCPKeepAliveListener if l is a *net.TCPListener. Otherwise, l is returned without change.

func LimitListener

func LimitListener(l net.Listener, n int) net.Listener

LimitListener is the same as https://godoc.org/golang.org/x/net/netutil#LimitListener

func SetKeepAlive

func SetKeepAlive(c net.Conn)

SetKeepAlive enables TCP keep-alive if c is a *net.TCPConn.

func TLSVersionString added in v1.1.0

func TLSVersionString(ver uint16) string

TLSVersionString returns string for the given SSL/TLS version.

Types

type HalfCloser

type HalfCloser interface {
	CloseRead() error
	CloseWrite() error
}

HalfCloser is an interface for connections that can be half-closed. TCPConn and UNIXConn implement this.

type TCPKeepAliveListener

type TCPKeepAliveListener struct {
	*net.TCPListener
}

TCPKeepAliveListener wraps *net.TCPListener.

func (TCPKeepAliveListener) Accept

func (l TCPKeepAliveListener) Accept() (c net.Conn, err error)

Accept returns a TCP keep-alive enabled connection.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL