package state; public class TCPClosed extends TCPState { public static TCPState Instance() { return new TCPClosed(); } public void ActiveOpen(TCPConnection conn) { super.ActiveOpen(conn); /* послать SYN, получить SYN, ACK и т.д. * ..... */ /* В конце концов сменить состояние */ ChangeState(conn, TCPEstablished.Instance()); } public void PassiveOpen(TCPConnection conn) { super.PassiveOpen(conn); ChangeState(conn, TCPListen.Instance()); } }