4 static final int DEFAULT_SIZE = 128;
9 private long oldestseqn;
12 array=new Slot[DEFAULT_SIZE+1];
20 return (array.length + head) - tail;
24 return array.length - 1;
27 void resize(int newsize) {
28 if (newsize == (array.length-1))
30 Slot[] newarray = new Slot[newsize+1];
31 int currsize = size();
33 for(int i=0; i < currsize; i++) {
34 newarray[i] = array[index];
35 if ((++index) == array.length)
43 void putSlot(Slot s) {
46 if (head >= array.length)
50 oldestseqn = s.getSequenceNumber();
54 if (tail >= array.length)
61 Slot getSlot(long seqnum) {
62 int diff=(int) (seqnum-oldestseqn);
63 int index=diff + tail;
64 if (index > array.length) {
70 if (index >= array.length ||
74 System.out.println("seqnum="+seqnum);
75 System.out.println("olestseqn="+oldestseqn);
76 System.out.println("diff="+diff);
77 System.out.println("tail="+tail);
85 long getOldestSeqNum() {
89 long getNewestSeqNum() {
90 return oldestseqn + size() - 1;