<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script src="./get.js"></script>
<script src="./ham.js"></script>
<script src="./dup.js"></script>
<script>
var graph = {};
var dup = Dup();
var peer = new WebSocket('ws://localhost:8080');
peer.onopen = function(o){
console.log('open', o);
setTimeout(function(){
var msg = {
'#': dup.track(Dup.random()),
get: {'#': 'FDSA', '.': 'species'}
}
peer.send(JSON.stringify(msg));
},2000);
setTimeout(function(){
var msg = {
'#': dup.track(Dup.random()),
put: {
ASDF: {_: {'#': 'ASDF', '>': {name: 2, boss: 2}},
name: "Mark Nadal",
boss: {'#': 'FDSA'}
},
FDSA: {_: {'#': 'FDSA', '>': {name: 2, species: 2, slave: 2}},
name: "Fluffy",
species: "a kitty",
slave: {'#': 'ASDF'}
}
}
}
peer.send(JSON.stringify(msg));
},1000 * Math.random());
setTimeout(function(){
var msg = {
'#': dup.track(Dup.random()),
put: {
ASDF: {_: {'#': 'ASDF', '>': {name: 1}},
name: "Mark",
},
FDSA: {_: {'#': 'FDSA', '>': {species: 2, color: 3}},
species: "felis silvestris",
color: 'ginger'
}
}
}
peer.send(JSON.stringify(msg));
},1000 * Math.random());
};
peer.onclose = function(c){ console.log('close', c) };
peer.onmessage = function(m){
var msg = JSON.parse(m.data);
if(dup.check(msg['#'])){ return }
dup.track(msg['#']);
if(msg.put){
HAM.mix(msg.put, graph);
}
if(msg.get){
var ack = GET(msg.get, graph);
ack = JSON.stringify({
'#': dup.track(Dup.random()),
'@': msg['#'],
put: ack
});
peer.send(ack);
}
console.log('data', msg);
peer.send(m.data);
};
peer.onerror = function(e){ console.log('error', e) };
</script>
</body>
</html>