better p2p handling
This commit is contained in:
parent
1e64031ec3
commit
d5fe53d23e
2 changed files with 12 additions and 8 deletions
|
|
@ -101,9 +101,7 @@ Wallet.prototype._handleData = function(senderId, data, isInbound) {
|
|||
this.log('badMessage FROM:', senderId); //TODO
|
||||
return;
|
||||
}
|
||||
|
||||
this.log('[Wallet.js.98]' , data.type); //TODO
|
||||
|
||||
switch(data.type) {
|
||||
case 'publicKeyRing':
|
||||
this._handlePublicKeyRing(senderId, data, isInbound);
|
||||
|
|
@ -127,6 +125,7 @@ Wallet.prototype._handleNetworkChange = function(newPeer) {
|
|||
Wallet.prototype.netStart = function() {
|
||||
var self = this;
|
||||
var net = this.network;
|
||||
net.removeAllListeners();
|
||||
net.on('networkChange', self._handleNetworkChange.bind(self) );
|
||||
net.on('data', self._handleData.bind(self) );
|
||||
net.on('open', function() {}); // TODO
|
||||
|
|
|
|||
|
|
@ -134,6 +134,13 @@ Network.prototype._addPeer = function(peerId, isInbound) {
|
|||
}
|
||||
};
|
||||
|
||||
Network.prototype._checkAnyPeer = function() {
|
||||
if (!this.connectedPeers.length) {
|
||||
console.log('EMIT openError: no more peers, not even you!');
|
||||
this.emit('openError');
|
||||
}
|
||||
}
|
||||
|
||||
Network.prototype._setupConnectionHandlers = function(dataConn, isInbound) {
|
||||
|
||||
var self=this;
|
||||
|
|
@ -156,17 +163,14 @@ Network.prototype._setupConnectionHandlers = function(dataConn, isInbound) {
|
|||
|
||||
dataConn.on('error', function(e) {
|
||||
console.log('### DATA ERROR',e ); //TODO
|
||||
self.emit('openError');
|
||||
self.emit('dataError');
|
||||
});
|
||||
|
||||
dataConn.on('close', function() {
|
||||
if (self.closing) return;
|
||||
console.log('### CLOSE RECV FROM:', dataConn.peer);
|
||||
self._onClose(dataConn.peer);
|
||||
if (! isInbound) {
|
||||
console.log('[WebRTC.js.163] EMIT openError'); //TODO
|
||||
self.emit('openError');
|
||||
}
|
||||
self._checkAnyPeer();
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -191,7 +195,7 @@ Network.prototype._setupPeerHandlers = function(openCallback) {
|
|||
self.peer.disconnect();
|
||||
self.peer.destroy();
|
||||
self.peer = null;
|
||||
self.emit('openError');
|
||||
self._checkAnyPeer();
|
||||
});
|
||||
|
||||
p.on('connection', function(dataConn) {
|
||||
|
|
@ -256,6 +260,7 @@ console.log('[WebRTC.js.242] SENDING ', data.type); //TODO
|
|||
var l = peerIds.length;
|
||||
var i = 0;
|
||||
peerIds.forEach(function(peerId) {
|
||||
console.log('[WebRTC.js.258:peerId:]',peerId); //TODO
|
||||
self._sendToOne(peerId, data, function () {
|
||||
if (++i === l && typeof cb === 'function') cb();
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue