--amend
[iotcloud.git] / src / java / iotcloud / TestCloudComm.java
1 package iotcloud;
2 import java.io.*;
3 import java.net.*;
4 import java.util.Arrays;
5 import javax.crypto.*;
6
7 class TestCloudComm extends CloudComm {
8         SlotBuffer buffer;
9
10         TestCloudComm() {
11                 buffer = new SlotBuffer();
12         }
13
14         public synchronized Slot[] putSlot(Slot slot, int max) {
15                 if ((buffer.size()==0 && 1 == slot.getSequenceNumber()) ||
16                                 buffer.getNewestSeqNum()+1 == slot.getSequenceNumber()) {
17                         if (max!=0)
18                                 buffer.resize(max);
19                         buffer.putSlot(slot);
20                         return null;
21                 } else
22                         return getSlots(slot.getSequenceNumber());
23         }
24
25         public synchronized Slot[] getSlots(long sequencenumber) {
26                 long newestseqnum=buffer.getNewestSeqNum();
27                 long oldestseqnum=buffer.getOldestSeqNum();
28                 if (sequencenumber < oldestseqnum)
29                         sequencenumber=oldestseqnum;
30                 int numslots=(int)((newestseqnum - sequencenumber)+1);
31                 Slot[] slots=new Slot[numslots];
32                 for(int i=0;i<numslots;i++,sequencenumber++)
33                         slots[i]=buffer.getSlot(sequencenumber);
34                 return slots;
35         }
36 }