www.pudn.com > JAVIS-0.3.zip > PacketEvent.java
package fileio.event;
import fileio.event.Event;
import animation.VisualElement;
import animation.Packet;
import util.Colour;
import util.Input;
import util.Debug;
import java.io.Reader;
import java.io.IOException;
import fileio.FileIO;
public class PacketEvent extends Event {
long m_size;
int m_src;
int m_dest;
Colour m_colour;
int m_convid;
int m_packetid;
String m_type;
int m_eventType;
public static final int HOP=1;
public static final int ENQUE=2;
public static final int DEQUE=3;
public static final int RECV=4;
public static final int DROP=5;
public static final int S_ENQUE=6;
public static final int S_DEQUE=7;
public static final int S_DROP=8;
public PacketEvent(char eventchar) {
m_size=0;
m_src=0;
m_dest=0;
m_colour=new Colour("black");
m_convid=0;
m_packetid=0;
m_type="";
switch (eventchar) {
case 'h': m_eventType=HOP; break;
case '+': m_eventType=ENQUE; break;
case '-': m_eventType=DEQUE; break;
case 'r': m_eventType=RECV; break;
case 'd': m_eventType=DROP; break;
default: m_eventType=0;
}
}
public void setEventType(int type) {
m_eventType= type;
}
public int getEventType () {
return m_eventType;
}
public void read(Reader reader) {
int ch;
String str=new String();
try {
while (true) {
ch=Input.skipSpaces(reader);
if (ch==-1) return;
if (ch!='-') return;
ch=reader.read();
switch ((char)ch) {
case 's': m_src=Input.getInteger(reader); break;
case 'd': m_dest=Input.getInteger(reader); break;
case 'p': m_type=Input.getString(reader); break;
case 'e': m_size=Input.getInteger(reader); break;
case 'c': m_convid=Input.getInteger(reader);
m_colour.setColour(m_convid);
break;
case 'i': m_packetid=Input.getInteger(reader); break;
case 'a': //m_colour.setColour(Input.getInteger(reader));
break;
case 'x': {
while ((char)ch!='}' && (char)ch!='\n')
ch=reader.read();
break;
}
case 'f':
case 'm':
case 'S': // Haven't a clue what this is..
{ int dummy=Input.getInteger(reader); break; }
case 'y': // No clue either
{ while ((char)ch!='}' && (char)ch!='\n')
ch=reader.read();
break;
}
default: Debug.out.println("Not a valid character: "+(char)ch); break;
}
}
}
catch(IOException e) {
Debug.out.println("Failure");
}
}
public VisualElement returnElement() {
Packet newpacket= new Packet();
newpacket.setSource(m_src);
newpacket.setDestination(m_dest);
newpacket.setSize(m_size);
newpacket.setPacketColour(m_colour);
newpacket.setConvid(m_convid);
newpacket.setPacketid(m_packetid);
newpacket.setType(m_type);
return newpacket;
}
public int getSource() {
return m_src;
}
public int getDest() {
return m_dest;
}
public int getPacketID() {
return m_packetid;
}
public long getSize() {
return m_size;
}
public String toString() {
return "P"+m_eventType+": "+m_time+" "+m_src+" "+m_dest+" "+
m_packetid+" "+m_size;
}
}