-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path9-tokenBucket.java
More file actions
66 lines (54 loc) · 1.47 KB
/
9-tokenBucket.java
File metadata and controls
66 lines (54 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Write a program for congestion control using token bucket algorithm.
import java.util.*;
public class tokenBucket{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("Enter the bucket size");
int bsize=sc.nextInt();
int tokens=0;
int tokenrate=3;
System.out.println("Enter the number of requests");
int n=sc.nextInt();
System.out.println("Enter the number of packets in each requests");
int[] requests=new int[n];
for(int i=0;i<n;i++){
requests[i]=sc.nextInt();
}
for(int i=0;i<n;i++){
tokens=Integer.min((tokens+tokenrate),bsize);
System.out.println("\nNumber of tokens present= "+tokens);
if(requests[i]<tokens){
System.out.println("Number of packets= "+requests[i]);
System.out.println("Packets accepted");
tokens-=requests[i];
System.out.println("Number of tokens remaining="+tokens);
}
else{
System.out.println("Number of packets= "+requests[i]);
System.out.println("Packets dropped");
System.out.println("Number of tokens remaining="+tokens);
}
}
}
}
/*
Output:
Enter the bucket size
10
Enter the number of requests
3
Enter the number of packets in each requests
4 3 5
Number of tokens present= 3
Number of packets= 4
Packets dropped
Number of tokens remaining=3
Number of tokens present= 6
Number of packets= 3
Packets accepted
Number of tokens remaining=3
Number of tokens present= 6
Number of packets= 5
Packets accepted
Number of tokens remaining=1
*/