From: jihoonl Date: Tue, 7 Jul 2009 23:44:58 +0000 (+0000) Subject: Working version X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2989531f731ace7a2da593659b8accdc93e5a12d;p=IRC.git Working version to test ./Intruder.bin -a 10 -l 32 -n 100000 -s 1 --- diff --git a/Robust/src/Benchmarks/SingleTM/Intruder/Decoder.java b/Robust/src/Benchmarks/SingleTM/Intruder/Decoder.java index 4733da87..fcbfdb05 100644 --- a/Robust/src/Benchmarks/SingleTM/Intruder/Decoder.java +++ b/Robust/src/Benchmarks/SingleTM/Intruder/Decoder.java @@ -126,26 +126,25 @@ public class Decoder { * ============================================================================= er_t decoder_process (decoder_t* decoderPtr, char* bytes, long numByte); */ - public int process(Packet bytes,int numByte) + public int process(Packet packetPtr,int numByte) { boolean status; - ERROR er; + ERROR er = new ERROR(); /* - * Basic er checing + * Basic error checking */ if (numByte < 0) { return er.SHORT; } - /* need to look into it later */ - Packet packetPtr = (Packet)bytes; int flowId = packetPtr.flowId; int fragmentId = packetPtr.fragmentId; int numFragment = packetPtr.numFragment; int length = packetPtr.length; + if (flowId < 0) { return er.FLOWID; } @@ -171,21 +170,29 @@ public class Decoder { fragmentListPtr = List_t.alloc(1); // packet_compareFragmentId if(fragmentListPtr == null) { - System.out.println("Assertion in process"); + System.out.println("Assertion in Decoder1.process"); + System.exit(1); + } + status = fragmentListPtr.insert(packetPtr); + + if(!status) { + System.out.println("Assertion Decoer.process"); System.exit(1); } status = MAP_INSERT(fragmentedMapPtr,flowId,fragmentListPtr); - if(status) { - System.out.println("Assertion in process"); + if(!status) { + System.out.println("Assertion Decoder!!!!.process"); System.exit(1); } + } else { - List_Iter it; + + List_Iter it = new List_Iter(); it.reset(fragmentListPtr); - if(it.hasNext(fragmentListPtr)) { - System.out.println("Assertion in process"); + if(!it.hasNext(fragmentListPtr)) { + System.out.println("Assertion in Decoder2.process"); System.exit(1); } @@ -194,92 +201,82 @@ public class Decoder { if (numFragment != expectedNumFragment) { status = MAP_REMOVE(fragmentedMapPtr,flowId); - if(status) { - System.out.println("Assertion in process"); + if(!status) { + System.out.println("Assertion in process1"); System.exit(1); } + return er.NUMFRAGMENT; + } - status = fragmentListPtr.insert(packetPtr); - if(status) { - System.out.println("Assertion in process"); - System.exit(1); - } + status = fragmentListPtr.insert(packetPtr); + + if(!status) { + System.out.println("Assertion in process2"); + System.exit(1); + } - /* - * If we have all thefragments we can reassemble them - */ + - if(fragmentListPtr.getSize() == numFragment) { + /* + * If we have all thefragments we can reassemble them + */ + if(fragmentListPtr.getSize() == numFragment) { - int numBytes = 0; - int i = 0; - it.reset(fragmentListPtr); + int numBytes = 0; + int i = 0; + it.reset(fragmentListPtr); - while (it.hasNext(fragmentListPtr)) { - Packet fragmentPtr = (Packet)it.next(fragmentListPtr); + while (it.hasNext(fragmentListPtr)) { + Packet fragmentPtr = (Packet)it.next(fragmentListPtr); - if(fragmentPtr.fragmentId != i) { - status = MAP_REMOVE(fragmentedMapPtr,flowId); + if(fragmentPtr.fragmentId != i) { + status = MAP_REMOVE(fragmentedMapPtr,flowId); - if(status) { - System.out.println("Assertion in process"); - System.exit(1); - } - return er.INCOMPLETE; /* should be sequential */ - } - numBytes += fragmentPtr.length; - i++; + if(!status) { + System.out.println("Assertion in process3"); + System.exit(1); + } + return er.INCOMPLETE; /* should be sequential */ } + numBytes += fragmentPtr.length; + i++; + } - char[] data = new char[numBytes+1]; - if(data == null) { - System.out.println("Assertion in process"); - System.exit(1); - } + String data; - data[numBytes] = '\0'; - int dst = 0; // index of data - it.reset(fragmentListPtr); - while(it.hasNext(fragmentListPtr)) { - Packet fragmentPtr = (Packet)it.next(fragmentListPtr); + it.reset(fragmentListPtr); + while(it.hasNext(fragmentListPtr)) { - for(i=0;i