Token bucket algorithm

来源:互联网 发布:初中课本同步软件 编辑:程序博客网 时间:2024/05/19 00:12
rate = 5.0; // unit: messagesper  = 8.0; // unit: secondsallowance = rate; // unit: messageslast_check = now(); // floating-point, e.g. usec accuracy. Unit: secondswhen (message_received):  current = now();  time_passed = current - last_check;  last_check = current;  allowance += time_passed * (rate / per);  if (allowance > rate):    allowance = rate; // throttle  if (allowance < 1.0):    discard_message();  else:    forward_message();    allowance -= 1.0;
0 0
原创粉丝点击