package reuseport

Import Path
	github.com/libp2p/go-reuseport (on go.dev)

Dependency Relation
	imports 6 packages, and imported by 2 packages

Involved Source Files addr.go control_unix.go Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports. You should only use this package if you know what SO_REUSEADDR and SO_REUSEPORT are. For example: // listen on the same port. oh yeah. l1, _ := reuse.Listen("tcp", "127.0.0.1:1234") l2, _ := reuse.Listen("tcp", "127.0.0.1:1234") // dial from the same port. oh yeah. l1, _ := reuse.Listen("tcp", "127.0.0.1:1234") l2, _ := reuse.Listen("tcp", "127.0.0.1:1235") c, _ := reuse.Dial("tcp", "127.0.0.1:1234", "127.0.0.1:1235") Note: cant dial self because tcp/ip stacks use 4-tuples to identify connections, and doing so would clash.
Package-Level Functions (total 7)
Available returns whether or not SO_REUSEPORT or equivalent behaviour is available in the OS.
func Control(network, address string, c syscall.RawConn) (err error)
Dial dials the given network and address. see net.Dial Returns a net.Conn created from a file descriptor for a socket with SO_REUSEPORT and SO_REUSEADDR option set.
Dial dials the given network and address, with the given timeout. see net.DialTimeout Returns a net.Conn created from a file descriptor for a socket with SO_REUSEPORT and SO_REUSEADDR option set.
Listen listens at the given network and address. see net.Listen Returns a net.Listener created from a file discriptor for a socket with SO_REUSEPORT and SO_REUSEADDR option set.
ListenPacket listens at the given network and address. see net.ListenPacket Returns a net.Listener created from a file discriptor for a socket with SO_REUSEPORT and SO_REUSEADDR option set.
func ResolveAddr(network, address string) (net.Addr, error)