Versions in this module Expand all Collapse all v1 v1.0.1 Apr 30, 2024 Changes in this version + const DefaultKeepaliveCount + const DefaultKeepaliveIdle + const DefaultKeepaliveInterval + const DefaultReceiveBufferSize + const DefaultSendBufferSize + const DefaultSynRetries + const DefaultTCPLingerTimeout + const DefaultTCPTimeWaitTimeout + const InitialCwnd + const InitialRTO + const MaxBufferSize + const MaxRTO + const MaxRetries + const MaxSACKBlocks + const MaxTCPLingerTimeout + const MinBufferSize + const MinRTO + const MinSRTT + const ProtocolNumber + const SegOverheadFactor + const SegOverheadSize + func FindWndScale(wnd seqnum.Size) int + func GetTCPReceiveBufferLimits(s tcpip.StackHandler) tcpip.ReceiveBufferSizeOption + func GetTCPSendBufferLimits(sh tcpip.StackHandler) tcpip.SendBufferSizeOption + func NewProtocol(s *stack.Stack) stack.TransportProtocol + func TrimSACKBlockList(sack *SACKInfo, rcvNxt seqnum.Value) + func UpdateSACKBlocks(sack *SACKInfo, segStart seqnum.Value, segEnd seqnum.Value, ...) + type Endpoint struct + func (*Endpoint) ConnectEndpoint(tcpip.Endpoint) tcpip.Error + func (*Endpoint) Disconnect() tcpip.Error + func (*Endpoint) HandlePacket(stack.TransportEndpointID, *stack.PacketBuffer) + func (e *Endpoint) Abort() + func (e *Endpoint) Accept(peerAddr *tcpip.FullAddress) (tcpip.Endpoint, *waiter.Queue, tcpip.Error) + func (e *Endpoint) AssertLockHeld(locked *Endpoint) + func (e *Endpoint) Bind(addr tcpip.FullAddress) (err tcpip.Error) + func (e *Endpoint) Close() + func (e *Endpoint) Connect(addr tcpip.FullAddress) tcpip.Error + func (e *Endpoint) EndpointState() EndpointState + func (e *Endpoint) GetAcceptConn() bool + func (e *Endpoint) GetLocalAddress() (tcpip.FullAddress, tcpip.Error) + func (e *Endpoint) GetRemoteAddress() (tcpip.FullAddress, tcpip.Error) + func (e *Endpoint) GetSockOpt(opt tcpip.GettableSocketOption) tcpip.Error + func (e *Endpoint) GetSockOptInt(opt tcpip.SockOptInt) (int, tcpip.Error) + func (e *Endpoint) HandleError(transErr stack.TransportError, pkt *stack.PacketBuffer) + func (e *Endpoint) HasNIC(id int32) bool + func (e *Endpoint) Info() tcpip.EndpointInfo + func (e *Endpoint) LastError() tcpip.Error + func (e *Endpoint) LastErrorLocked() tcpip.Error + func (e *Endpoint) Listen(backlog int) tcpip.Error + func (e *Endpoint) LockUser() + func (e *Endpoint) ModerateRecvBuf(copied int) + func (e *Endpoint) OnCorkOptionSet(v bool) + func (e *Endpoint) OnDelayOptionSet(v bool) + func (e *Endpoint) OnKeepAliveSet(bool) + func (e *Endpoint) OnReuseAddressSet(v bool) + func (e *Endpoint) OnReusePortSet(v bool) + func (e *Endpoint) OnSetReceiveBufferSize(rcvBufSz, oldSz int64) (newSz int64, postSet func()) + func (e *Endpoint) OnSetSendBufferSize(sz int64) int64 + func (e *Endpoint) Read(dst io.Writer, opts tcpip.ReadOptions) (tcpip.ReadResult, tcpip.Error) + func (e *Endpoint) Readiness(mask waiter.EventMask) waiter.EventMask + func (e *Endpoint) Restore(s *stack.Stack) + func (e *Endpoint) Resume() + func (e *Endpoint) ResumeWork() + func (e *Endpoint) SetOwner(owner tcpip.PacketOwner) + func (e *Endpoint) SetSockOpt(opt tcpip.SettableSocketOption) tcpip.Error + func (e *Endpoint) SetSockOptInt(opt tcpip.SockOptInt, v int) tcpip.Error + func (e *Endpoint) Shutdown(flags tcpip.ShutdownFlags) tcpip.Error + func (e *Endpoint) SocketOptions() *tcpip.SocketOptions + func (e *Endpoint) State() uint32 + func (e *Endpoint) Stats() tcpip.EndpointStats + func (e *Endpoint) StopWork() + func (e *Endpoint) TryLock() bool + func (e *Endpoint) UniqueID() uint64 + func (e *Endpoint) UnlockUser() + func (e *Endpoint) UpdateLastError(err tcpip.Error) + func (e *Endpoint) Wait() + func (e *Endpoint) WakeupWriters() + func (e *Endpoint) Write(p tcpip.Payloader, opts tcpip.WriteOptions) (int64, tcpip.Error) + type EndpointState tcpip.EndpointState + 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(id stack.TransportEndpointID, pkt *stack.PacketBuffer) 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 ReceiveErrors struct + ChecksumErrors tcpip.StatCounter + ListenOverflowAckDrop tcpip.StatCounter + ListenOverflowSynDrop tcpip.StatCounter + SegmentQueueDropped tcpip.StatCounter + WantZeroRcvWindow tcpip.StatCounter + ZeroRcvWindowState tcpip.StatCounter + 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 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()