package
0.0.0-20191123085552-55fcc16cd0eb
Repository: https://github.com/comzyh/netstack.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# Functions

FindWndScale determines the window scale to use for the given maximum window size.
NewForwarder allocates and initializes a new forwarder with the given maximum number of in-flight connection attempts.
NewProtocol returns a TCP transport protocol.
NewSACKScoreboard returns a new SACK Scoreboard.
TrimSACKBlockList updates the sack block list by removing/modifying any block where start is < rcvNxt.
UpdateSACKBlocks updates the list of SACK blocks to include the segment specified by segStart->segEnd.

# Constants

1MB.
1MB.
DefaultTCPLingerTimeout is the amount of time that sockets linger in FIN_WAIT_2 state before being marked closed.
DefaultTCPTimeWaitTimeout is the amount of time that sockets linger in TIME_WAIT state before being marked closed.
Disorder indicates the sender either received some SACK blocks or dupACK's.
FastRecovery indicates that the sender has entered FastRecovery based on receiving nDupAck's.
InitialCwnd is the initial congestion window.
4MB.
MaxSACKBlocks is the maximum number of SACK blocks stored at receiver side.
MaxUnprocessedSegments is the maximum number of unprocessed segments that can be queued for a given endpoint.
4096 bytes.
Open indicates that the sender is receiving acks in order and no loss or dupACK's etc have been detected.
ProtocolNumber is the tcp protocol number.
RTORecovery indicates that an RTO has occurred and the sender has entered an RTO based recovery phase.
SACKRecovery indicates that the sender has entered SACK based recovery.
Endpoint states.
Endpoint states.
Endpoint states.
Endpoint states.
Connect() called, but the initial SYN hasn't been sent.
Endpoint states.
TCP protocol states.
Endpoint states.
Endpoint states.
Endpoint states internal to netstack.
Endpoint states.
Endpoint states.
Endpoint states.
Endpoint states.
Endpoint states.

# Variables

SynRcvdCountThreshold is the global maximum number of connections that are allowed to be in SYN-RCVD state before TCP starts using SYN cookies to accept connections.

# Structs

EndpointInfo holds useful information about a transport endpoint which can be queried by monitoring tools.
Forwarder is a connection request forwarder, which allows clients to decide what to do with a connection request, for example: ignore it, send a RST, or attempt to complete the 3-way handshake.
ForwarderRequest represents a connection request received by the forwarder and passed to the client.
ReceiveBufferSizeOption allows the default, min and max receive buffer size for TCP endpoints to be queried or configured.
ReceiveErrors collect segment receive errors within transport layer.
SACKInfo holds TCP SACK related information for a given endpoint.
SACKScoreboard stores a set of disjoint SACK ranges.
SendBufferSizeOption allows the default, min and max send buffer sizes for TCP endpoints to be queried or configured.
SendErrors collect segment send errors within the transport layer.
Stats holds statistics about the endpoint.

# Type aliases

DelayEnabled option can be used to enable Nagle's algorithm in the TCP protocol.
EndpointState represents the state of a TCP endpoint.
SACKEnabled option can be used to enable SACK support in the TCP protocol.