📄 btalgorithmrechoke.h
字号:
#ifndef __BTALGORITHMRECHOKE_H__
#define __BTALGORITHMRECHOKE_H__
#include <vector>
#include "SimEventHandler.h"
#include "Sysparameter.h"
using namespace std;
class BTPeer;
class BTSession;
class BTSocket;
class SimEvent;
class BTEvent;
#define DEFAULTRECHOKEINTERVAL 20
#define DEFAULTOPTIMISTICINTERVAL 40
#define DEFAULTSNUBDETECTINTERVAL 80
#define DEFAULTUNCHOKENUM 10
#define DEFAULTSNUBUNCHOKENUM 4
class BTAlgorithmRechoke: public SimEventHandler{
public:
double mRechokeInterval;
double mOptimisticInterval;
double mSnubDetectInterval;
double mSnubUnchokeNum;
int mUnchokeNum;
double mOptimisticLastRunningTime;
double mSnubDetectLastRunningTime;
BTSession* mSession;
BTEvent* mRechoke;
public:
BTAlgorithmRechoke( BTSession* session);
~BTAlgorithmRechoke(){};
void handler(SimEvent*);
void nextSchedule(void);
void optimisticUnchoke(void);
void snubDetect(void);
void cancelRechoke(void);
private:
void print(void);
void printCon( vector<BTSocket*>* conlist);
};
class InCompare{
public:
bool operator()( BTSocket* const &, BTSocket* const &) const;
};
class OutCompare{
public:
bool operator()(BTSocket* const &, BTSocket* const &) const;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -