#include "TokenBucket.h"
#include <stdio.h>

//Small simulation of traffic shaping if the receiver cannot handle more than 4Mbps
int main(void) {
	//Create a tokenbucket with 4mbps (500000 bytes/sec),
	//timer granularity of 1000 ticks/second,
	//and basically no bursting
	TokenBucket tb(4000000/8,1000,1500);
	static const int packets=10;
	static const int packet_size[packets]={140,1200,1400,243,80,584,999,134,1500,32};
	int tick=0;
	printf("tick\tpacket\n");
	for(int i=0; i<packets; i++) {
		while(!tb.canGet(packet_size[i])) {
			tick++;
			tb.update(tick);
		}
		tb.getTokens(packet_size[i]);
		printf("%d\t%d\n",tick,packet_size[i]);
	}
	return 0;
}
