offline support
This commit is contained in:
@@ -1398,7 +1398,7 @@
|
||||
try
|
||||
{
|
||||
this.deltas.popEach((key) => {
|
||||
console.log("syncing to replicas: " + key);
|
||||
console.log("syncing: " + key);
|
||||
this.replicate(key);
|
||||
});
|
||||
}
|
||||
@@ -1429,12 +1429,18 @@
|
||||
replicate(key)
|
||||
{
|
||||
var value = this.cache().get(key);
|
||||
this.replicateOne(this.primary(), key, value);
|
||||
this.replicas().forEach((database) => {
|
||||
this.replicateOne(database, key, value);
|
||||
});
|
||||
}
|
||||
|
||||
replicateOne(database, key, value)
|
||||
{
|
||||
if (value)
|
||||
database.set(key, value);
|
||||
else
|
||||
database.del(key, value);
|
||||
});
|
||||
database.del(key);
|
||||
}
|
||||
|
||||
get(key)
|
||||
@@ -1444,11 +1450,12 @@
|
||||
|
||||
set(key, value)
|
||||
{
|
||||
this.primary().set(key, value);
|
||||
this.deltas.push(key);
|
||||
try
|
||||
{
|
||||
this.replicas().forEach((database) => {
|
||||
this.cache().set(key, value);
|
||||
this.primary().set(key, value);
|
||||
this.replicas().slice(1).forEach((database) => {
|
||||
database.set(key, value);
|
||||
});
|
||||
this.deltas.pop(key);
|
||||
@@ -1461,11 +1468,12 @@
|
||||
|
||||
del(key)
|
||||
{
|
||||
this.primary().del(key);
|
||||
this.deltas.push(key);
|
||||
try
|
||||
{
|
||||
this.replicas().forEach((database) => {
|
||||
this.cache().del(key);
|
||||
this.primary().del(key);
|
||||
this.replicas().slice(1).forEach((database) => {
|
||||
database.del(key);
|
||||
});
|
||||
this.deltas.pop(key);
|
||||
|
||||
Reference in New Issue
Block a user