net

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2019 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrPortBusy added in v1.4.1

type ErrPortBusy struct {
	Port int
	Err  error
}

func (*ErrPortBusy) Error added in v1.4.1

func (err *ErrPortBusy) Error() string

type ErrPortFileLocked added in v1.4.1

type ErrPortFileLocked int

func (ErrPortFileLocked) Error added in v1.4.1

func (port ErrPortFileLocked) Error() string

type ListenRangeConfig

type ListenRangeConfig struct {
	// like "tcp" or "udp". defaults to "tcp".
	Network  string
	Addr     string
	Min, Max int
	net.ListenConfig
}

ListenRangeConfig contains options for listening to a free address [Min,Max) range. ListenRangeConfig wraps a net.ListenConfig.

func (ListenRangeConfig) Listen

func (lc ListenRangeConfig) Listen(ctx context.Context) (*Listener, error)

Listen tries to Listen to a random open TCP port in the [min, max) range until ctx is cancelled. Listen uses net.ListenConfig.Listen internally.

type Listener

type Listener struct {
	// Listener can be closed but Port will be file locked by packer until
	// Close is called.
	net.Listener
	Port    int
	Address string
	// contains filtered or unexported fields
}

Listener wraps a net.Lister with some magic packer capabilies. For example until you call Listener.Close, any call to ListenRangeConfig.Listen cannot bind to Port. Packer tries tells moving parts which port they can use, but often the port has to be released before a 3rd party is started, like a VNC server.

func (*Listener) Close

func (l *Listener) Close() error

Jump to

Keyboard shortcuts

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