63 virtual void DupAck (const TcpHeader& t, uint32_t count); // Halving cwnd and reset nextTxSequence |
63 virtual void DupAck (const TcpHeader& t, uint32_t count); // Halving cwnd and reset nextTxSequence |
64 virtual void Retransmit (void); // Exit fast recovery upon retransmit timeout |
64 virtual void Retransmit (void); // Exit fast recovery upon retransmit timeout |
65 |
65 |
66 // Implementing ns3::TcpSocket -- Attribute get/set |
66 // Implementing ns3::TcpSocket -- Attribute get/set |
67 virtual void SetSegSize (uint32_t size); |
67 virtual void SetSegSize (uint32_t size); |
68 virtual void SetSSThresh (uint32_t threshold); |
68 virtual void SetInitialSSThresh (uint32_t threshold); |
69 virtual uint32_t GetSSThresh (void) const; |
69 virtual uint32_t GetInitialSSThresh (void) const; |
70 virtual void SetInitialCwnd (uint32_t cwnd); |
70 virtual void SetInitialCwnd (uint32_t cwnd); |
71 virtual uint32_t GetInitialCwnd (void) const; |
71 virtual uint32_t GetInitialCwnd (void) const; |
72 private: |
72 private: |
73 /** |
73 /** |
74 * \brief Set the congestion window when connection starts |
74 * \brief Set the congestion window when connection starts |
75 */ |
75 */ |
76 void InitializeCwnd (void); |
76 void InitializeCwnd (void); |
77 |
77 |
78 protected: |
78 protected: |
79 TracedValue<uint32_t> m_cWnd; //!< Congestion window |
79 TracedValue<uint32_t> m_cWnd; //!< Congestion window |
80 uint32_t m_ssThresh; //!< Slow Start Threshold |
80 TracedValue<uint32_t> m_ssThresh; //!< Slow Start Threshold |
81 uint32_t m_initialCWnd; //!< Initial cWnd value |
81 uint32_t m_initialCWnd; //!< Initial cWnd value |
|
82 uint32_t m_initialSsThresh; //!< Initial Slow Start Threshold value |
82 SequenceNumber32 m_recover; //!< Previous highest Tx seqnum for fast recovery |
83 SequenceNumber32 m_recover; //!< Previous highest Tx seqnum for fast recovery |
83 uint32_t m_retxThresh; //!< Fast Retransmit threshold |
84 uint32_t m_retxThresh; //!< Fast Retransmit threshold |
84 bool m_inFastRec; //!< currently in fast recovery |
85 bool m_inFastRec; //!< currently in fast recovery |
85 bool m_limitedTx; //!< perform limited transmit |
86 bool m_limitedTx; //!< perform limited transmit |
86 }; |
87 }; |