Versions in this module Expand all Collapse all v1 v1.0.0 Oct 18, 2019 Changes in this version + const DefaultReceiveBufferSize + const DefaultSendBufferSize + const Disorder + const FastRecovery + const InitialCwnd + const MaxBufferSize + const MaxSACKBlocks + const MaxUnprocessedSegments + const MinBufferSize + const Open + const ProtocolNumber + const RTORecovery + const SACKRecovery + var SynRcvdCountThreshold uint64 = 1000 + func FindWndScale(wnd seqnum.Size) int + func NewProtocol() stack.TransportProtocol + func TrimSACKBlockList(sack *SACKInfo, rcvNxt seqnum.Value) + func UpdateSACKBlocks(sack *SACKInfo, segStart seqnum.Value, segEnd seqnum.Value, ...) + type EndpointInfo struct + HardError *tcpip.Error + func (*EndpointInfo) IsEndpointInfo() + type EndpointState uint32 + const StateBound + const StateClose + const StateCloseWait + const StateClosing + const StateConnecting + const StateError + const StateEstablished + const StateFinWait1 + const StateFinWait2 + const StateInitial + const StateLastAck + const StateListen + const StateSynRecv + const StateSynSent + const StateTimeWait + func (s EndpointState) String() string + type Forwarder struct + func NewForwarder(s *stack.Stack, rcvWnd, maxInFlight int, handler func(*ForwarderRequest)) *Forwarder + func (f *Forwarder) HandlePacket(r *stack.Route, id stack.TransportEndpointID, netHeader buffer.View, ...) bool + type ForwarderRequest struct + func (r *ForwarderRequest) Complete(sendReset bool) + func (r *ForwarderRequest) CreateEndpoint(queue *waiter.Queue) (tcpip.Endpoint, *tcpip.Error) + func (r *ForwarderRequest) ID() stack.TransportEndpointID + type ReceiveBufferSizeOption struct + Default int + Max int + Min int + type ReceiveErrors struct + ChecksumErrors tcpip.StatCounter + ListenOverflowAckDrop tcpip.StatCounter + ListenOverflowSynDrop tcpip.StatCounter + SegmentQueueDropped tcpip.StatCounter + ZeroRcvWindowState tcpip.StatCounter + type SACKEnabled bool + type SACKInfo struct + Blocks [MaxSACKBlocks]header.SACKBlock + NumBlocks int + type SACKScoreboard struct + func NewSACKScoreboard(smss uint16, iss seqnum.Value) *SACKScoreboard + func (s *SACKScoreboard) Copy() (sackBlocks []header.SACKBlock, maxSACKED seqnum.Value) + func (s *SACKScoreboard) Delete(seq seqnum.Value) + func (s *SACKScoreboard) Empty() bool + func (s *SACKScoreboard) Insert(r header.SACKBlock) + func (s *SACKScoreboard) IsLost(seq seqnum.Value) bool + func (s *SACKScoreboard) IsRangeLost(r header.SACKBlock) bool + func (s *SACKScoreboard) IsSACKED(r header.SACKBlock) bool + func (s *SACKScoreboard) MaxSACKED() seqnum.Value + func (s *SACKScoreboard) Reset() + func (s *SACKScoreboard) SMSS() uint16 + func (s *SACKScoreboard) Sacked() seqnum.Size + func (s *SACKScoreboard) String() string + type SendBufferSizeOption struct + Default int + Max int + Min int + type SendErrors struct + FastRetransmit tcpip.StatCounter + Retransmits tcpip.StatCounter + SegmentSendToNetworkFailed tcpip.StatCounter + SynSendToNetworkFailed tcpip.StatCounter + Timeouts tcpip.StatCounter + type Stats struct + FailedConnectionAttempts tcpip.StatCounter + ReadErrors tcpip.ReadErrors + ReceiveErrors ReceiveErrors + SegmentsReceived tcpip.StatCounter + SegmentsSent tcpip.StatCounter + SendErrors SendErrors + WriteErrors tcpip.WriteErrors + func (*Stats) IsEndpointStats()