public class Packet { public enum ServiceLevel {NORMAL, HIGH}; public final int MaxDestPort = 1; //MAX port number on router public final int MinDestPort = 0; //MIN port number on router public final int MaxPayload = 60; //MAX size of payload private int pkPacketID; //Packet number private int pkDestPort; //Destination port private ServiceLevel pkServiceLevel; // Pack service level private String pkPayload; // Packet message /* * Getters and setters */ // post - pkPacketID returned public int getPkPacketID() { return pkPacketID; } //pre - pkPacketID integer //post - pkPacketID set if packetID => 1 public boolean setPkPacketID(int pkPacketID) { if (pkPacketID < 1) return false; this.pkPacketID = pkPacketID; return true; } // post - current pkDestPort returned public int getPkDestPort() { return pkDestPort; } // pre - pkDestPort integer // post - pkDestPort set if a valid port number public boolean setPkDestPort(int pkDestPort) { if (pkDestPort < MinDestPort || pkDestPort > MaxDestPort) return false; this.pkDestPort = pkDestPort; return true; } // post - return the service level of the packet public ServiceLevel getPkServiceLevel() { return pkServiceLevel; } //pkServiceLevel set to valid level //post - pkServiceLevel set to new level public void setPkServiceLevel(ServiceLevel pkServiceLevel) { this.pkServiceLevel = pkServiceLevel; return; } // post - payload returned public String getPkPayload() { return pkPayload; } //pre - pkPayload string //post - pkPayload string set if length > MaxPayload public boolean setPkPayload(String pkPayload) { if (pkPayload.length() > MaxPayload) return false; this.pkPayload = pkPayload; return true; } //post - image of packet returned public String toString () { return ("(" + pkPacketID + ", " + pkDestPort + " , " + pkServiceLevel + ")\n" + " " + pkPayload + "\n"); } }