logoots-structs
Version:
Provides several data structures to represent a text using a ropes-like structure and manipulating it
29 lines (24 loc) • 795 B
JavaScript
module.exports = {
createBetweenPosition: function (id1, id2, replicaNumber, clock) {
var s1 = new InfiniteString(Number.MIN_VALUE, id1 != null ? id1.iterator() : null);
var s2 = new InfiniteString(Number.MAX_VALUE, id2 != null ? id2.iterator() : null);
var sb = [];
do {
var b1 = s1.next();
var b2 = s2.next();
if (b2 - b1 > 2) {
//if (replicaNumber <= b1 || replicaNumber >= b2) {
var r = (Math.random() * (b2 - b1 - 2)) + b1 + 1;
sb.push(r);
//}
break;
}
else {
sb.push(b1);
}
} while(true);
sb.push(replicaNumber);
sb.push(clock);
return sb;
}
};