• 大小: 2.45KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-02-22
  • 标签: C语言  调度  语言  算法  

资源简介

C语言实现的加权调度算法,加权调度算法,可用于多网络接口上的数据包调度,

资源截图

代码片段和文件信息

#include “data_mgmt.h“


static int RRW_gcd(int xint y)
{
int ret = -1;
int t;

for(;;)
{
t = x % y;
if(t > 0)
{
x = y;
y = t;
}
else
{
return y;
}
}

return ret;
}


// Add a weighted item.
int RRW_add_item(NET_DEV_RRW * rrwNET_DEV_INDEX_T net_indexint weight)
{
int ret = 0;
NET_DEV_INTERFACE_SCH_WHT_S net_item;

net_item.net_interface = net_index;
net_item.weight = weight;
net_item.EffectiveWeight = weight;
net_item.CurrentWeight = 0;

/*if(weight > 0)
{
if(rrw->gcd == 0)
{
rrw->gcd  = weight;
rrw->maxW = weight;
rrw->i   = -1;
rrw->cw   = 0;
}
else
{
rrw->gcd = RRW_gcd(rrw->gcd weight);
if(rrw->maxW < weight)
{
rrw->maxW = weight;
}
}
}

if(rrw->n < (NET_DEV_INDEX_MAX-1))
{
rrw->net_items[rrw->n] = net_item;
rrw->n++;
}*/

if(rrw->n < (NET_DEV_INDEX_MAX-1))
{
rrw->net_items[rrw->n] = net_item;
rrw->n++;
}


return ret;
}



// RemoveAll removes all weighted items.
int RRW_remove

评论

共有 条评论