src/internet/model/tcp-tahoe.h
changeset 10440 1e48ff9185f1
parent 10158 971f362648c3
child 10855 7ef081ddfc7f
equal deleted inserted replaced
10439:73bc9e55f9bd 10440:1e48ff9185f1
    40  * also \RFC{2001}.
    40  * also \RFC{2001}.
    41  */
    41  */
    42 class TcpTahoe : public TcpSocketBase
    42 class TcpTahoe : public TcpSocketBase
    43 {
    43 {
    44 public:
    44 public:
       
    45   /**
       
    46    * \brief Get the type ID.
       
    47    * \return the object TypeId
       
    48    */
    45   static TypeId GetTypeId (void);
    49   static TypeId GetTypeId (void);
    46   /**
    50   /**
    47    * Create an unbound tcp socket.
    51    * Create an unbound tcp socket.
    48    */
    52    */
    49   TcpTahoe (void);
    53   TcpTahoe (void);
       
    54   /**
       
    55    * \brief Copy constructor
       
    56    * \param sock the object to copy
       
    57    */
    50   TcpTahoe (const TcpTahoe& sock);
    58   TcpTahoe (const TcpTahoe& sock);
    51   virtual ~TcpTahoe (void);
    59   virtual ~TcpTahoe (void);
    52 
    60 
    53   // From TcpSocketBase
    61   // From TcpSocketBase
    54   virtual int Connect (const Address &address);
    62   virtual int Connect (const Address &address);
    66   virtual void     SetSSThresh (uint32_t threshold);
    74   virtual void     SetSSThresh (uint32_t threshold);
    67   virtual uint32_t GetSSThresh (void) const;
    75   virtual uint32_t GetSSThresh (void) const;
    68   virtual void     SetInitialCwnd (uint32_t cwnd);
    76   virtual void     SetInitialCwnd (uint32_t cwnd);
    69   virtual uint32_t GetInitialCwnd (void) const;
    77   virtual uint32_t GetInitialCwnd (void) const;
    70 private:
    78 private:
    71   void InitializeCwnd (void);            // set m_cWnd when connection starts
    79   /**
       
    80    * \brief Set the congestion window when connection starts
       
    81    */
       
    82   void InitializeCwnd (void);
    72 
    83 
    73 protected:
    84 protected:
    74   TracedValue<uint32_t>  m_cWnd;         //< Congestion window
    85   TracedValue<uint32_t>  m_cWnd;         //!< Congestion window
    75   uint32_t               m_ssThresh;     //< Slow Start Threshold
    86   uint32_t               m_ssThresh;     //!< Slow Start Threshold
    76   uint32_t               m_initialCWnd;  //< Initial cWnd value
    87   uint32_t               m_initialCWnd;  //!< Initial cWnd value
    77   uint32_t               m_retxThresh;   //< Fast Retransmit threshold
    88   uint32_t               m_retxThresh;   //!< Fast Retransmit threshold
    78 };
    89 };
    79 
    90 
    80 } // namespace ns3
    91 } // namespace ns3
    81 
    92 
    82 #endif /* TCP_TAHOE_H */
    93 #endif /* TCP_TAHOE_H */