Untitled
unknown
plain_text
20 days ago
1.2 kB
6
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("\nEnter 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("\nBytes remaining to transmit:%d",remainingSize); } ++i; } timeToTransmit=(rand()%4+1)*10; printf("\nTime 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("\npacket%dtransmitted\n",op); printf("Bytes remaining to transmit:%d\n",remainingSize); } else { printf("\n Time left for transmission:%dunits",timeToTransmit-clk); printf("\nNo packets to transmit!!\n"); } } } }
Editor is loading...
Leave a Comment