forked from pubnub/javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathresync.js
More file actions
122 lines (86 loc) · 2.36 KB
/
Copy pathresync.js
File metadata and controls
122 lines (86 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
var PUBNUB = require("../../pubnub.js")
function log(r) {
console.log(JSON.stringify(r, null, 2));
}
var pubnub = PUBNUB({
write_key : "pub-c-bf446f9e-dd7f-43fe-8736-d6e5dce3fe67",
read_key : "sub-c-d1c2cc5a-1102-11e4-8880-02ee2ddab7fe",
origin : "dara25.devbuild.pubnub.com",
auth_key : 'abcd'
});
function log_after(msg, timeout, indent) {
setTimeout(function(){
console.log(JSON.stringify(msg, null, indent));
}, timeout * 1000);
}
function log(msg) {
if (1) {
console.log(msg);
} else {
log_after(msg, 2, 2);
}
}
var home = pubnub.sync('ab');
var d = pubnub.sync('ab.a.b.c.d');
var e = pubnub.sync('az');
var f = pubnub.sync('az.a.b.c.d');
var g = pubnub.sync('ab.a.b.c');
// Home object has finished downloading and is ready to use
home.on.ready(function(ref) {
console.log('HOME READY');
log(ref.value());
})
home.on.merge(function(r){
console.log('HOME MERGE');
console.log(JSON.stringify(r.value(), null, 2));
})
home.on.error(function(info) { console.log(info) })
// Network Events
home.on.network.connect(function(info) {})
home.on.network.disconnect(function(info) { })
home.on.network.reconnect(function(info) { })
var h = pubnub.sync('ab');
h.on.ready(function(r){
log('AB READY ' + JSON.stringify(r.value()));
});
g.on.ready(function(r){
log('AB.A.B.C READY ' + JSON.stringify(r.value()));
})
g.on.resync(function(r){
log('AB.A.B.C RESYNC ' + JSON.stringify(r.value()));
})
d.on.ready(function(r){
log('AB.A.B.C.D READY ' + JSON.stringify(r.value()));
})
d.on.resync(function(r){
log('AB.A.B.C.D RESYNC ' + JSON.stringify(r.value()));
})
e.on.ready(function(r){
log('AZ READY ' + JSON.stringify(r.value()));
})
f.on.ready(function(r){
log('AZ.A.B.C.D READY ' + JSON.stringify(r.value()));
})
f.on.resync(function(r){
log('AZ.A.B.C.D RESYNC ' + JSON.stringify(r.value()));
})
d.on.merge(function(r){
console.log('D MERGE');
console.log(JSON.stringify(r.value()));
})
setInterval(function(){
setTimeout(function(){
var x = '10' + Date.now();
console.log('MERGING ' + x + ' at D');
d.merge(x, function(){
setTimeout(function(){
home.resync();
},2000);
});
}, 5000)
}, 10000)
/*
setTimeout(function(){
d.merge('10' + Date.now());
}, 20000)
*/