From: bdemsky Date: Mon, 1 Aug 2016 17:30:15 +0000 (-0700) Subject: forget rejected message list X-Git-Url: http://plrg.eecs.uci.edu/git/?p=iotcloud.git;a=commitdiff_plain;h=5f55bf39b74645a2ac989751e1e372208c982a08 forget rejected message list --- diff --git a/src/java/iotcloud/Table.java b/src/java/iotcloud/Table.java index 3afb1a9..cf7095e 100644 --- a/src/java/iotcloud/Table.java +++ b/src/java/iotcloud/Table.java @@ -18,6 +18,7 @@ final public class Table { private HashMap table=new HashMap(); private HashMap > lastmessagetable=new HashMap >(); private HashMap > watchlist = new HashMap >(); + private Vector rejectedmessagelist=new Vector(); private SlotBuffer buffer; private CloudComm cloud; private long sequencenumber; @@ -29,6 +30,7 @@ final public class Table { private int chance; static final double RESIZE_MULTIPLE = 1.2; static final double RESIZE_THRESHOLD = 0.75; + static final int REJECTED_THRESHOLD = 5; private int resizethreshold; private long lastliveslotseqn; private Random random=new Random(); @@ -125,6 +127,37 @@ final public class Table { s.addEntry(status); } + if (!rejectedmessagelist.isEmpty()) { + long old_seqn=rejectedmessagelist.firstElement(); + if (rejectedmessagelist.size() > REJECTED_THRESHOLD) { + long new_seqn=rejectedmessagelist.lastElement(); + RejectedMessage rm=new RejectedMessage(s, localmachineid, old_seqn, new_seqn, false); + s.addEntry(rm); + } else { + long prev_seqn=old_seqn; + for(int i=0; i