Documentation ¶
Overview ¶
Package tcpconntrack implements a TCP connection tracking object. It allows users with access to a segment stream to figure out when a connection is established, reset, and closed (and in the last case, who closed first).
Index ¶
- type Result
- type TCB
- func (t *TCB) InboundSendSequenceNumber() seqnum.Value
- func (t *TCB) Init(initialSyn header.TCP) Result
- func (t *TCB) IsAlive() bool
- func (t *TCB) OutboundSendSequenceNumber() seqnum.Value
- func (t *TCB) UpdateStateInbound(tcp header.TCP) Result
- func (t *TCB) UpdateStateOutbound(tcp header.TCP) Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Result ¶
type Result int
Result is returned when the state of a TCB is updated in response to an inbound or outbound segment.
const ( // ResultDrop indicates that the segment should be dropped. ResultDrop Result = iota // ResultConnecting indicates that the connection remains in a // connecting state. ResultConnecting // ResultAlive indicates that the connection remains alive (connected). ResultAlive // ResultReset indicates that the connection was reset. ResultReset // ResultClosedByPeer indicates that the connection was gracefully // closed, and the inbound stream was closed first. ResultClosedByPeer // ResultClosedBySelf indicates that the connection was gracefully // closed, and the outbound stream was closed first. ResultClosedBySelf )
type TCB ¶
type TCB struct {
// contains filtered or unexported fields
}
TCB is a TCP Control Block. It holds state necessary to keep track of a TCP connection and inform the caller when the connection has been closed.
func (*TCB) InboundSendSequenceNumber ¶
InboundSendSequenceNumber returns the snd.NXT for the inbound stream.
func (*TCB) IsAlive ¶
IsAlive returns true as long as the connection is established(Alive) or connecting state.
func (*TCB) OutboundSendSequenceNumber ¶
OutboundSendSequenceNumber returns the snd.NXT for the outbound stream.
func (*TCB) UpdateStateInbound ¶
UpdateStateInbound updates the state of the TCB based on the supplied inbound segment.