| Index: net/third_party/udt/app/cc.h
|
| ===================================================================
|
| --- net/third_party/udt/app/cc.h (revision 78992)
|
| +++ net/third_party/udt/app/cc.h (working copy)
|
| @@ -1,100 +0,0 @@
|
| -#include <udt.h>
|
| -#include <ccc.h>
|
| -
|
| -class CTCP: public CCC
|
| -{
|
| -public:
|
| - void init()
|
| - {
|
| - m_bSlowStart = true;
|
| - m_issthresh = 83333;
|
| -
|
| - m_dPktSndPeriod = 0.0;
|
| - m_dCWndSize = 2.0;
|
| -
|
| - setACKInterval(2);
|
| - setRTO(1000000);
|
| - }
|
| -
|
| - virtual void onACK(const int& ack)
|
| - {
|
| - if (ack == m_iLastACK)
|
| - {
|
| - if (3 == ++ m_iDupACKCount)
|
| - DupACKAction();
|
| - else if (m_iDupACKCount > 3)
|
| - m_dCWndSize += 1.0;
|
| - else
|
| - ACKAction();
|
| - }
|
| - else
|
| - {
|
| - if (m_iDupACKCount >= 3)
|
| - m_dCWndSize = m_issthresh;
|
| -
|
| - m_iLastACK = ack;
|
| - m_iDupACKCount = 1;
|
| -
|
| - ACKAction();
|
| - }
|
| - }
|
| -
|
| - virtual void onTimeout()
|
| - {
|
| - m_issthresh = getPerfInfo()->pktFlightSize / 2;
|
| - if (m_issthresh < 2)
|
| - m_issthresh = 2;
|
| -
|
| - m_bSlowStart = true;
|
| - m_dCWndSize = 2.0;
|
| - }
|
| -
|
| -protected:
|
| - virtual void ACKAction()
|
| - {
|
| - if (m_bSlowStart)
|
| - {
|
| - m_dCWndSize += 1.0;
|
| -
|
| - if (m_dCWndSize >= m_issthresh)
|
| - m_bSlowStart = false;
|
| - }
|
| - else
|
| - m_dCWndSize += 1.0/m_dCWndSize;
|
| - }
|
| -
|
| - virtual void DupACKAction()
|
| - {
|
| - m_bSlowStart = false;
|
| -
|
| - m_issthresh = getPerfInfo()->pktFlightSize / 2;
|
| - if (m_issthresh < 2)
|
| - m_issthresh = 2;
|
| -
|
| - m_dCWndSize = m_issthresh + 3;
|
| - }
|
| -
|
| -protected:
|
| - int m_issthresh;
|
| - bool m_bSlowStart;
|
| -
|
| - int m_iDupACKCount;
|
| - int m_iLastACK;
|
| -};
|
| -
|
| -
|
| -class CUDPBlast: public CCC
|
| -{
|
| -public:
|
| - CUDPBlast()
|
| - {
|
| - m_dPktSndPeriod = 1000000;
|
| - m_dCWndSize = 83333.0;
|
| - }
|
| -
|
| -public:
|
| - void setRate(double mbps)
|
| - {
|
| - m_dPktSndPeriod = (m_iMSS * 8.0) / mbps;
|
| - }
|
| -};
|
|
|