equal
deleted
inserted
replaced
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 */ |