Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ComputePerfStats ¶
func ComputePerfStats(latencies, throughputs []float64) (madmin.NetLatency, madmin.NetThroughput, error)
ComputePerfStats takes arrays of Latency & Throughput to compute Statistics
func IsConnRefusedErr ¶
IsConnRefusedErr - Checks for "connection refused" errors.
func IsConnResetErr ¶
IsConnResetErr - Checks for "connection reset" errors.
func IsNetworkOrHostDown ¶
IsNetworkOrHostDown - if there was a network error or if the host is down. expectTimeouts indicates that *context* timeouts are expected and does not indicate a downed host. Other timeouts still returns down.
Types ¶
type Host ¶
Host - holds network host IP/name and its port.
func (Host) MarshalJSON ¶
MarshalJSON - converts Host into JSON data
func (*Host) UnmarshalJSON ¶
UnmarshalJSON - parses data into Host.
type Port ¶
type Port uint16
Port - network port
func GetFreePort ¶
GetFreePort asks the kernel for a free open port that is ready to use.
type TCPConfig ¶ added in v3.0.17
type TCPConfig struct { // IdleTimeout is the maximum time duration for idle connections // before they are forcibly closed. IdleTimeout time.Duration // UserTimeout is the maximum amount of time that transmitted // data may remain unacknowledged before forcefully closing the // connection. // // Moreover, when used with TCP keepalives, UserTimeout // overrides keepalive to determine when to close a connection // due to keepalive failure. // // If empty, no TCP user timeout is set. UserTimeout time.Duration // SendBufSize sets a custom send buffer size on the TCP socket if // not zero. SendBufSize int // RecvBufSize, sets a custom receive buffer size on the TCP socket if // not zero. RecvBufSize int // If true, sets TCP_NODELAY on the network connection which // disables Nagle's algorithm such that small packages are not // combined into larger ones but sent right away. NoDelay bool // If non-empty, create a TCP socket on the given virtual routing // and forwarding (VRF) interface. Interface string // Trace is a callback for debug logging Trace func(string) }
A TCPConfig structure is used to configure a TCP client or server connections.
func (*TCPConfig) Control ¶ added in v3.0.17
Control applies the TCPConfig to a raw network connection before dialing.
Network and address parameters passed to Control function are not necessarily the ones passed to Dial. For example, passing "tcp" to Dial will cause the Control function to be called with "tcp4" or "tcp6".
type URL ¶
URL - improved JSON friendly url.URL.
func ParseHTTPURL ¶
ParseHTTPURL - parses a string into HTTP URL, string is expected to be of form http:// or https://
func (URL) Hostname ¶
Hostname returns u.Host, stripping any valid port number if present
If the result is enclosed in square brackets, as literal IPv6 addresses are, the square brackets are removed from the result.
func (URL) MarshalJSON ¶
MarshalJSON - converts to JSON string data.
func (URL) Port ¶
Port returns the port part of u.Host, without the leading colon.
If u.Host doesn't contain a valid numeric port, Port returns an empty string.
func (*URL) UnmarshalJSON ¶
UnmarshalJSON - parses given data into URL.