📄 vlink.h
字号:
#ifndef _VLink_h
#define _VLink_h
#define protect protected
#include "Common.h"
class Node;
class Agent;
class VConnection;
class VLink
{
protect:
Agent *mAgent;
Node *mNode;
unsigned long mBandwidthIn;
unsigned long mAvailableBandwidthIn;
unsigned long mBandwidthOut;
unsigned long mAvailableBandwidthOut;
set<VConnection *> mActiveConnectionIn;
set<VConnection *> mInactiveConnectionIn;
set<VConnection *> mActiveConnectionOut;
set<VConnection *> mInactiveConnectionOut;
public:
VLink(Agent *agent, Node *node);
unsigned long getBandwidth(bool flag)
{ if(flag) return mBandwidthIn; else return mBandwidthOut; }
unsigned long getAvailableBandwidth(bool flag)
{ if(flag) return mAvailableBandwidthIn; else return mAvailableBandwidthOut; }
unsigned long getAverageBandwidth(bool flag)
{
if(flag)
return mBandwidthIn / (mActiveConnectionIn.size() + 1);
else
return mBandwidthOut / (mActiveConnectionOut.size() + 1);
}
unsigned long getAverageBandwidthA(bool flag)
{
if(flag)
return mBandwidthIn / mActiveConnectionIn.size();
else
return mBandwidthOut / mActiveConnectionOut.size();
}
unsigned int getActiveNumber(bool flag)
{ if(flag) return mActiveConnectionIn.size(); else return mActiveConnectionOut.size(); }
void setBandwidth(bool flag, unsigned long bandwidth)
{
if(flag)
{ mBandwidthIn = bandwidth; mAvailableBandwidthIn = bandwidth; }
else
{ mBandwidthOut = bandwidth; mAvailableBandwidthOut = bandwidth; }
}
void reset();
void addConnection(bool flag, VConnection *pc);
void removeConnection(bool flag, VConnection *pc);
void activateConnection(bool flag, VConnection *pc);
void inactivateConnection(bool flag, VConnection *pc);
void adjustUp(bool flag, VConnection *pc, unsigned long value);
void adjustDown(bool flag, VConnection *pc, unsigned long value);
void reallocate();
VConnection *getMaxConnection(bool flag);
set<VConnection *> getConnection(bool flag)
{ if(flag) return mActiveConnectionIn; else return mActiveConnectionOut; }
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -