Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.LinkedList;
- import java.util.Queue;
- public class Fragmentation {
- static Queue<LinkedList> packet;
- public int numberOfPackets(int data, int mtu) {
- return (int) Math.ceil((float) data / mtu);
- }
- public void packetDivision(int data, LinkedList<Integer> mtu) {
- //System.out.print(mtu.element());
- packet = new LinkedList();
- System.out.println(numberOfPackets(data, mtu.element()));
- int j=0;
- while (j< mtu.size()) {
- for (int i = 0; i < numberOfPackets(data, mtu.get(j)); i++) {
- if (data <= mtu.get(j)) {
- ((LinkedList) packet).add(data);
- data = data - mtu.get(j);
- }
- else {
- ((LinkedList) packet).add(mtu.get(j));
- data = data - mtu.get(j);
- }
- }
- j++;
- }
- }
- public void printQueue(){
- // for(int p=0; p < packet.size(); p++)
- // {
- // System.out.println("Element at index "+p+": "+packet.element());
- // }
- System.out.println(packet.toString());
- }
- }
- public class MTU1 {
- public static void main(String[] args){
- Scanner sc = new Scanner(System.in);
- System.out.print("Enter the number of routers: ");
- int routers = sc.nextInt();
- LinkedList<Integer> linkedmtu = new LinkedList<>();
- int mtu;
- System.out.print("Enter the number of Bytes to be sent: ");
- int data = sc.nextInt();
- for (int i = 0; i < routers; i++) {
- System.out.print("Enter the MTU of router " + (i + 1) + ": ");
- mtu = sc.nextInt();
- linkedmtu.add(mtu);
- }
- Fragmentation fragmentation = new Fragmentation();
- fragmentation.packetDivision(data,linkedmtu);
- fragmentation.printQueue();
- }
- }
Add Comment
Please, Sign In to add comment