fix queue issue

This commit is contained in:
Mark Nadal 2019-04-26 16:03:33 -07:00
parent da431c06bc
commit 2d541f9529
2 changed files with 22 additions and 21 deletions

21
gun.js
View File

@ -2129,11 +2129,12 @@
tmp = tmp.id = tmp.id || Type.text.random(9); tmp = tmp.id = tmp.id || Type.text.random(9);
mesh.say({dam: '?'}, opt.peers[tmp] = peer); mesh.say({dam: '?'}, opt.peers[tmp] = peer);
} }
if(!tmp.hied){ ctx.on(tmp.hied = 'hi', peer); } if(!tmp.hied){ ctx.on(tmp.hied = 'hi', peer) }
// tmp = peer.queue; peer.queue = []; // @rogowski I need this here by default for now to fix go1dfish's bug
// Type.obj.map(tmp, function(msg){ tmp = peer.queue; peer.queue = [];
// mesh.say(msg, peer); Type.obj.map(tmp, function(msg){
// }); mesh.say(msg, peer);
});
} }
mesh.bye = function(peer){ mesh.bye = function(peer){
Type.obj.del(opt.peers, peer.id); // assume if peer.url then reconnect Type.obj.del(opt.peers, peer.id); // assume if peer.url then reconnect
@ -2142,12 +2143,12 @@
mesh.hear['!'] = function(msg, peer){ opt.log('Error:', msg.err) } mesh.hear['!'] = function(msg, peer){ opt.log('Error:', msg.err) }
mesh.hear['?'] = function(msg, peer){ mesh.hear['?'] = function(msg, peer){
if(!msg.pid){ if(!msg.pid){
// return mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer);
mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer); mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer);
var tmp = peer.queue; peer.queue = []; // @rogowski I want to re-enable this AXE logic with some fix/merge later.
Type.obj.map(tmp, function(msg){ // var tmp = peer.queue; peer.queue = [];
mesh.say(msg, peer); // Type.obj.map(tmp, function(msg){
}); // mesh.say(msg, peer);
// });
return; return;
} }
peer.id = peer.id || msg.pid; peer.id = peer.id || msg.pid;

View File

@ -126,7 +126,6 @@ function Mesh(ctx){
peer.say(raw); peer.say(raw);
} else } else
if(wire.send){ if(wire.send){
if(wire.readyState && 1 != wire.readyState){ throw "socket not ready yet!" }
wire.send(raw); wire.send(raw);
} }
}catch(e){ }catch(e){
@ -194,11 +193,12 @@ function Mesh(ctx){
tmp = tmp.id = tmp.id || Type.text.random(9); tmp = tmp.id = tmp.id || Type.text.random(9);
mesh.say({dam: '?'}, opt.peers[tmp] = peer); mesh.say({dam: '?'}, opt.peers[tmp] = peer);
} }
if(!tmp.hied){ ctx.on(tmp.hied = 'hi', peer); } if(!tmp.hied){ ctx.on(tmp.hied = 'hi', peer) }
// tmp = peer.queue; peer.queue = []; // @rogowski I need this here by default for now to fix go1dfish's bug
// Type.obj.map(tmp, function(msg){ tmp = peer.queue; peer.queue = [];
// mesh.say(msg, peer); Type.obj.map(tmp, function(msg){
// }); mesh.say(msg, peer);
});
} }
mesh.bye = function(peer){ mesh.bye = function(peer){
Type.obj.del(opt.peers, peer.id); // assume if peer.url then reconnect Type.obj.del(opt.peers, peer.id); // assume if peer.url then reconnect
@ -207,12 +207,12 @@ function Mesh(ctx){
mesh.hear['!'] = function(msg, peer){ opt.log('Error:', msg.err) } mesh.hear['!'] = function(msg, peer){ opt.log('Error:', msg.err) }
mesh.hear['?'] = function(msg, peer){ mesh.hear['?'] = function(msg, peer){
if(!msg.pid){ if(!msg.pid){
// return mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer);
mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer); mesh.say({dam: '?', pid: opt.pid, '@': msg['#']}, peer);
var tmp = peer.queue; peer.queue = []; // @rogowski I want to re-enable this AXE logic with some fix/merge later.
Type.obj.map(tmp, function(msg){ // var tmp = peer.queue; peer.queue = [];
mesh.say(msg, peer); // Type.obj.map(tmp, function(msg){
}); // mesh.say(msg, peer);
// });
return; return;
} }
peer.id = peer.id || msg.pid; peer.id = peer.id || msg.pid;