Skip to main content

Write a program for congestion control using leaky bucket algorithm


import java.util.*;
public class LBA {

       public static void main(String[] args) {
             // TODO Auto-generated method stub
             int op;
             Scanner s=new Scanner(System.in);
             int bktcap=0;
             int remain=0;
             int pkt[]=new int[10];
             System.out.println("Enter Bucket size");
             bktcap=s.nextInt();
             System.out.println("Enter value n");
             int n=s.nextInt();
             System.out.println("Enter datarate");
             int dr=s.nextInt();
             System.out.println("Enter input values");
             for(int i=0;i<n;i++){
             int val=s.nextInt();
             pkt[i]=val;
             }
             for(int i=0;i<=n;i++){
                    int total=pkt[i]+remain;
                    if(total>bktcap) {
                           if(pkt[i]>bktcap) {
                                 System.out.println("incomming packet size is:"+pkt[i]+"bytes greater than capacity of "+bktcap+"bytes");
                                 System.out.println("REJECTED");
                           }
                           else {
                                 System.out.println("REJECTED");
                           }
                    }
                    else {
                           remain+=pkt[i];
                           System.out.println("incomming packet size is:"+pkt[i]);
                    }
                    if(remain<=dr) {
                           op=remain;
                           remain=0;
                    }
                    else {
                           op=dr;
                           remain-=dr;
                    }
                    System.out.println("packet size is:"+op+"is transmitted");
                    System.out.println("remain capacity is:"+remain);
                    System.out.println();
             }
       }     
}

Comments

Post a Comment

Popular posts from this blog

Write a program for error detecting code using CRC-CCITT (16- bits).

import java.io.*; import java.util.*; public class CRC   {   public static void main(String args[]) { Scanner s=new Scanner(System.in); System.out.println("Enter the no of bits : "); int   n=s.nextInt(); int data[ ]=new int[n]; System.out.println("Enter the data bits : "); for(int i=0;i<n;i++) data[i]=s.nextInt(); System.out.println("Enter the no of divisor bits : "); int m=s.nextInt(); int divisor[ ]=new int[m]; System.out.println("Enter divisor bits : "); for(int j=0;j<m;j++) divisor[j]=s.nextInt(); int len=n+m-1; int div[ ]=new int[len]; int rem[ ]=new int[len]; int crc[ ]=new int[len]; int src[ ]=new int[len]; for(int i=0;i<data.length;i++) div[i]=data[i]; System.out.println("Dividend after appending zero"); for(int i=0;i<div.length;i++) System.out.print(div[i]); System.out.println(); for(int j=0;j<div.length;j++) rem[j]=div[j]; rem=divid