|
@@ -200,12 +200,9 @@ Peer.prototype._handleMessage = function(message) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
// Find messages.
|
|
// Find messages.
|
|
- var messages = this._lostMessages[connection.id];
|
|
|
|
- if (messages) {
|
|
|
|
- for (var i = 0, ii = messages.length; i < ii; i += 1) {
|
|
|
|
- connection.handleMessage(messages[i]);
|
|
|
|
- }
|
|
|
|
- delete this._lostMessages[connection.id];
|
|
|
|
|
|
+ var messages = this._getMessages(connectionId);
|
|
|
|
+ for (var i = 0, ii = messages.length; i < ii; i += 1) {
|
|
|
|
+ connection.handleMessage(messages[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
@@ -218,7 +215,7 @@ Peer.prototype._handleMessage = function(message) {
|
|
var id = payload.connectionId;
|
|
var id = payload.connectionId;
|
|
var connection = this.getConnection(peer, id);
|
|
var connection = this.getConnection(peer, id);
|
|
|
|
|
|
- if (connection) {
|
|
|
|
|
|
+ if (connection && connection.pc) {
|
|
// Pass it on.
|
|
// Pass it on.
|
|
connection.handleMessage(message);
|
|
connection.handleMessage(message);
|
|
} else if (id) {
|
|
} else if (id) {
|
|
@@ -231,7 +228,7 @@ Peer.prototype._handleMessage = function(message) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-/** Stores messages without a connection, to be claimed later. */
|
|
|
|
|
|
+/** Stores messages without a set up connection, to be claimed later. */
|
|
Peer.prototype._storeMessage = function(connectionId, message) {
|
|
Peer.prototype._storeMessage = function(connectionId, message) {
|
|
if (!this._lostMessages[connectionId]) {
|
|
if (!this._lostMessages[connectionId]) {
|
|
this._lostMessages[connectionId] = [];
|
|
this._lostMessages[connectionId] = [];
|
|
@@ -239,6 +236,17 @@ Peer.prototype._storeMessage = function(connectionId, message) {
|
|
this._lostMessages[connectionId].push(message);
|
|
this._lostMessages[connectionId].push(message);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/** Retrieve messages from lost message store */
|
|
|
|
+Peer.prototype._getMessages = function(connectionId) {
|
|
|
|
+ var messages = this._lostMessages[connectionId];
|
|
|
|
+ if (messages) {
|
|
|
|
+ delete this._lostMessages[connectionId];
|
|
|
|
+ return messages;
|
|
|
|
+ } else {
|
|
|
|
+ return [];
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* Returns a DataConnection to the specified peer. See documentation for a
|
|
* Returns a DataConnection to the specified peer. See documentation for a
|
|
* complete list of options.
|
|
* complete list of options.
|