Click
Loading...
Searching...
No Matches
tcpstate.hh
1/*
2 * TCPState.hh - Enumeration used to store the closing state of a side of a TCP connection.
3 * Each side of the connection must have its own state as one may be closed while the other is
4 * still open
5 *
6 * Romain Gaillard.
7 */
8
9#ifndef MIDDLEBOX_TCPState_HH
10#define MIDDLEBOX_TCPState_HH
11
12// Using a structure to avoid polluting the namespace
13// We must therefore use for instance TCPState::OPEN
14struct TCPState
15{
16 enum Value
17 {
18 ESTABLISHING_1 = 0,
19 ESTABLISHING_2,
20 OPEN, // The connection is open and nothing has been made to close it
21 BEING_CLOSED_GRACEFUL_1, // The connection is being closed gracefully (via first FIN packets)
22 BEING_CLOSED_ARTIFICIALLY_1,
23 BEING_CLOSED_ARTIFICIALLY_2,
24 BEING_CLOSED_GRACEFUL_2, // The connection is being closed gracefully (via second FIN packets, second should free after this)
25 CLOSED, // The connection has been closed (via RST packets or FIN, both side should have freed. Technically this state should be nearly unreadable)
26 };
27};
28
29#endif