Skip to content

Commit 3dd34b8

Browse files
committed
Removed connect instruction from protocol, now is concern of the transport
1 parent e33b4fd commit 3dd34b8

20 files changed

+55
-159
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.6.0",
44
"main": "./dist/nodejs.js",
55
"browser": "./dist/browser.js",
6+
"unpkg": "./dist/browser.min.js",
67
"license": "MIT",
78
"url": "http://www.distributedobjectprotocol.org",
89
"repository": {

src/core/api_transports/emitConnect.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ dop.core.emitConnect = function(node) {
44
if (node.listener)
55
node.listener.emit('connect', node);
66
node.emit('connect');
7+
dop.core.sendMessages(node);
78
};

src/core/api_transports/emitMessage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dop.core.emitMessage = function(node, message_string, message_raw) {
1919

2020

2121
// Managing protocol
22-
if (dop.util.typeof(messages) == 'array') {
22+
if (isArray(messages)) {
2323

2424
// Detecting if is multimessage
2525
if (typeof messages[0] == 'number')

src/core/api_transports/emitReconnect.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ dop.core.emitReconnect = function(node, oldSocket, newNode) {
55
node.listener.emit('reconnect', node, oldSocket);
66
}
77
node.emit('reconnect', oldSocket);
8+
dop.core.sendMessages(node);
89
};

src/core/api_transports/sendConnect.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/core/constructors/node.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dop.core.node = function() {
55
this.connected = false;
66
this.request_inc = 1;
77
this.requests = {};
8-
this.requests_queue = [];
8+
this.message_queue = []; // Response / Request / instrunctions queue
99
this.object_subscribed = {};
1010
this.object_owner = {};
1111
// Generating token
@@ -39,16 +39,15 @@ dop.protocol.unsubscribe = function(node, object) {
3939

4040
if (isObject(object_data) && isObject(object_data.node[node.token]) && object_data.node[node.token].owner) {
4141
var request = dop.core.createRequest(node, dop.protocol.instructions.unsubscribe, object_id);
42-
dop.core.storeRequest(node, request);
43-
if (node.connected)
44-
dop.core.sendRequests(node);
42+
dop.core.storeSendMessages(node, request);
4543
return request.promise;
4644
}
4745
else
4846
return Promise.reject(dop.core.error.reject.SUBSCRIPTION_NOT_FOUND);
4947
};
5048

5149

50+
5251
dop.protocol.onunsubscribe = function(node, request_id, request) {
5352
var object_id = request[1],
5453
object_data = dop.data.object[object_id],
@@ -70,5 +69,5 @@ dop.protocol.onunsubscribe = function(node, request_id, request) {
7069
else
7170
response.push(dop.core.error.reject.SUBSCRIPTION_NOT_FOUND);
7271

73-
dop.core.sendResponse(node, response);
72+
dop.core.storeSendMessages(node, response);
7473
};

src/core/protocol/createRequest.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
dop.core.createRequest = function(node, instruction) {
33
var request_id = node.request_inc++,
44
request = Array.prototype.slice.call(arguments, 1);
5+
node.requests[request_id] = request;
56
request.unshift(request_id);
67
request.promise = dop.core.createAsync();
78
return request;

src/core/protocol/sendMessages.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
dop.core.sendMessages = function(node) {
3+
var total = node.message_queue.length;
4+
if (total>0 && node.connected) {
5+
var index = 0,
6+
messages_wrapped = [],
7+
message_string;
8+
9+
for (;index<total; ++index)
10+
messages_wrapped.push( node.message_queue[index][1](node.message_queue[index][0]) );
11+
12+
13+
message_string = (index>1) ? '['+messages_wrapped.join(',')+']' : messages_wrapped[0];
14+
15+
node.message_queue = [];
16+
node.send(message_string);
17+
}
18+
};
19+
20+
21+
22+
// var index = 0,
23+
// message = wrapper((total>1) ? requests : requests[0]);
24+
25+
// for (;index<total; ++index)
26+
// node.requests[requests[index][0]] = requests[index];
27+
28+
// node.requests_queue = [];
29+
// node.send(message);

src/core/protocol/sendRequests.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/core/protocol/sendResponse.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)