llb
unknown
plain_text
4 months ago
1.2 kB
2
Indexable
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<unistd.h> #define packetCount 10 void main() { srand(time(0)); int packets[packetCount],i,rate,bucketSize,remainingSize=0,timeToTransmit,clk,op; for(i=0;i<packetCount;++i) packets[i]=(rand()%6+1)*10; printf("\n enter the output rate:"); scanf("%d",&rate); printf("enter the bucket size:"); scanf("%d",&bucketSize); i=0; while(i<packetCount||remainingSize>0) { if(i<packetCount) { if((packets[i]+remainingSize)>bucketSize) printf("bucket capacity exceeded!Packet %d overflow\n",packets[i]); else { remainingSize+=packets[i]; printf("\n\nIncoming Packet Size :%d",packets[i]); printf("\n bytes remaining to transmit:%d",remainingSize); } ++i; } timeToTransmit=(rand()%4+1)*10; printf("\n time left for transmission : %d units \n",timeToTransmit); for(clk=10;clk<=timeToTransmit;clk+=10) { sleep(1); if(remainingSize) { if(remainingSize<=rate) op=remainingSize,remainingSize=0; else op=rate,remainingSize-=rate; printf("\n Packet %d transmitted \n",op); printf("bytes remaining to transmit :%d\n",remainingSize); } else { printf("\n time left for transmission : %d units",timeToTransmit-clk); printf("\n No packets to transmit !!\n"); } } } }
Editor is loading...
Leave a Comment