src/internet-node/tcp-typedefs.h
changeset 3260 8c0ab08144e6
parent 3259 43b3f8ecd86d
child 3261 b0987a6a74c8
--- a/src/internet-node/tcp-typedefs.h	Mon Jun 09 11:39:29 2008 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2007 Georgia Tech Research Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- *
- * Author: Raj Bhattacharjea <raj.b@gatech.edu>
- * typedefs for tcp state machine
- */ 
-
-#include <vector>
-#include <map>
-#include "sequence-number.h"
-
-#ifndef TCP_TYPEDEFS_H
-#define TCP_TYPEDEFS_H
-
-namespace ns3 {
-
-typedef enum { MAX_FLAGS = 0x40 } TCPMaxFlags_t;  // Flags are 6 bits
-
-typedef enum {
-  CLOSED,       // 0
-  LISTEN,       // 1
-  SYN_SENT,     // 2
-  SYN_RCVD,     // 3
-  ESTABLISHED,  // 4
-  CLOSE_WAIT,   // 5
-  LAST_ACK,     // 6
-  FIN_WAIT_1,   // 7
-  FIN_WAIT_2,   // 8
-  CLOSING,      // 9
-  TIMED_WAIT,   // 10
-  LAST_STATE } States_t;
-
-typedef enum {
-  APP_LISTEN,   // 0
-  APP_CONNECT,  // 1
-  APP_SEND,     // 2
-  SEQ_RECV,     // 3
-  APP_CLOSE,    // 4
-  TIMEOUT,      // 5
-  ACK_RX,       // 6
-  SYN_RX,       // 7
-  SYN_ACK_RX,   // 8
-  FIN_RX,       // 9
-  FIN_ACK_RX,   // 10
-  RST_RX,       // 11
-  BAD_FLAGS,    // 12
-  LAST_EVENT } Events_t;
-
-typedef enum {
-  NO_ACT,       // 0
-  ACK_TX,       // 1
-  ACK_TX_1,     // ACK response to syn
-  RST_TX,       // 2
-  SYN_TX,       // 3
-  SYN_ACK_TX,   // 4
-  FIN_TX,       // 5
-  FIN_ACK_TX,   // 6
-  NEW_ACK,      // 7
-  NEW_SEQ_RX,   // 8
-  RETX,         // 9
-  TX_DATA,      // 10
-  PEER_CLOSE,   // 11
-  APP_CLOSED,   // 12
-  CANCEL_TM,    // 13
-  APP_NOTIFY,   // 14 - Notify app that connection failed
-  SERV_NOTIFY,  // 15 - Notify server tcp that connection completed
-  LAST_ACTION } Actions_t;
-
-class SA  // State/Action pair
-{
-public:
-  SA () : state (LAST_STATE), action (LAST_ACTION) { }
-  SA (States_t s, Actions_t a) : state (s), action (a) { }
-public:
-  States_t  state;
-  Actions_t action;
-};
-typedef std::vector<SA>  StateActionVec_t;
-typedef std::vector<StateActionVec_t> StateActions_t;  // One per current state
-typedef std::vector<Events_t> EventVec_t;      // For flag events lookup
-
-//type for managing buffered out of sequence data
-typedef std::map<SequenceNumber, Ptr<Packet> > UnAckData_t;
-
-class TcpStateMachine {
-  public:
-    TcpStateMachine ();
-    SA Lookup (States_t, Events_t);
-    Events_t FlagsEvent (uint8_t); // Lookup event from flags
-
-  public:
-    StateActions_t aT; // Action table
-    EventVec_t     eV; // Flags event lookup  
-};
-
-}//namespace ns3
-#endif //TCP_TYPEDEFS_H