⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settlingtimetable.cc

📁 RSA algorithm implementation is given
💻 CC
字号:
#include "common.h"#include "externDec.h"u_int32_t	settlingTimeTable::getSettleTime(u_int32_t dst){	map<u_int32_t,settlingTimeEntry>::iterator	iter;	u_int32_t 	stlInterval;	iter = stlTimeMap.find(dst);	if(iter!= stlTimeMap.end())	{#ifdef DEBUG		cout << "settlingTimeTable: an entry for dest " << getDotIP(dst) << "exists" <<endl;#endif		if(iter->second.getLastStlTime() == 0)			return 0;		else if(iter->second.getAvgStlTime() == 0)			return (iter->second.getLastStlTime());		else		{			stlInterval = (u_int32_t)((STL_AVG_FACTOR * iter->second.getLastStlTime())+					((1-STL_AVG_FACTOR)*iter->second.getAvgStlTime()));			return stlInterval;		}	}	else	{#ifdef DEBUG		cout << "settlingTimeTable: no entry for dest " << getDotIP(dst) << "exists" <<endl;#endif		return 0;	}}void	settlingTimeTable::deleteEntry(u_int32_t dst){	map<u_int32_t,settlingTimeEntry>::iterator	iter;	iter = stlTimeMap.find(dst);	if(iter != stlTimeMap.end())	{		stlTimeMap.erase(iter);	}}void	settlingTimeTable::setLastRecvTime(u_int32_t dst){	map<u_int32_t,settlingTimeEntry>::iterator	iter;	u_int64_t	currtime=getcurrtime();	iter = stlTimeMap.find(dst);	if(iter!= stlTimeMap.end())	{		iter->second.setLastRecvTime(currtime);	}	else	{#ifdef DEBUG		cout << "settlingTimeTable: create a settling time entry " << endl;#endif		settlingTimeEntry	stlEntry;		stlEntry.createEntry(dst,0,0,currtime);		insertEntry(stlEntry);	}}/*void	settlingTimeTable::setAvgStlTime(u_int32_t dst){	map<u_int32_t,settlingTimeEntry>::iterator	iter;	u_int64_t	currtime=getcurrtime();	u_int32_t	currStlTime, new_avg_stl_time;	iter = stlTimeMap.find(dst);	if(iter!= stlTimeMap.end())	{		currStlTime = (u_int32_t)(currtime - iter->second.getLastRecvTime());		new_avg_stl_time = (u_int32_t)((STL_AVG_FACTOR*iter->second.getAvgStlTime())+							((1-STL_AVG_FACTOR)*currStlTime));		iter->second.setAvgStlTime(new_avg_stl_time);	}}*/void	settlingTimeTable::setNewStlTime(u_int32_t dst){	map<u_int32_t,settlingTimeEntry>::iterator	iter;	u_int64_t	currtime=getcurrtime();	u_int32_t	newAvgStlTime;	iter = stlTimeMap.find(dst);	if(iter!= stlTimeMap.end())	{		if((iter->second.getAvgStlTime() == 0) 			&& (iter->second.getLastStlTime() == 0))		{			iter->second.setLastStlTime((u_int32_t)(currtime - iter->second.getLastRecvTime()));		}		else if(iter->second.getAvgStlTime() == 0) 		{			iter->second.setAvgStlTime(iter->second.getLastStlTime());			iter->second.setLastStlTime((u_int32_t)(currtime - iter->second.getLastRecvTime()));		}		else 		{			newAvgStlTime = (iter->second.getAvgStlTime()+iter->second.getLastStlTime())/2;			iter->second.setAvgStlTime(newAvgStlTime);			iter->second.setLastStlTime((u_int32_t)(currtime - iter->second.getLastRecvTime()));		}	}}void	settlingTimeTable::insertEntry(settlingTimeEntry se){	stlTimeMap.insert(pair<u_int32_t,settlingTimeEntry>(se.getDestIP(),se));	return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -