3 this.DEFAULT_SIZE = 128;
13 return (this.array.length + this.head - this.tail);
16 return this.array.length-1;
19 if(newsize === (this.array.length-1)){
23 var currsize = this.size();
24 var index = this.tail;
25 for(let i = 0 ; i<currsize ; i++){
26 newarray[i]=this.array[index];
27 if((++index) === this.array.length){
30 this.array = newarray;
37 if(this.head >= this.array.length){
43 if(this.tail >= this.array.length){
48 if(!(s instanceof Slot)){
49 throw new Error("Error with arguments. Argument should be a slot object");
51 this.array[this.head]=s;
54 if(this.oldestseqn ===0){
55 this.oldestseqn = s.getSequenceNumber();
58 if(this.head === this.tail){
64 var diff = (seqnum - this.oldestseqn);
65 var index = diff + this.tail;
66 if(index >= this.array.length){
67 if(this.head >= this.tail){
70 index = index - this.array.length;
72 if(index >= this.array.length){
76 if(this.head >= this.tail && index >= head){
80 return this.array[index];
84 return this.oldestseqn;
87 return this.oldestseqn + this.size() -1