Skip to content

Commit efea906

Browse files
committed
add support for drain event and send response boolean to make sockjs compliant with Writeable api that allows for handling back pressure
1 parent 0e8d891 commit efea906

File tree

11 files changed

+940
-1075
lines changed

11 files changed

+940
-1075
lines changed

dist/sockjs-esm.js

Lines changed: 314 additions & 374 deletions
Large diffs are not rendered by default.

dist/sockjs.js

Lines changed: 611 additions & 690 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/sockjs.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/sockjs.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/sockjs.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ SockJS.prototype.send = function(data) {
164164
if (this.readyState !== SockJS.OPEN) {
165165
return;
166166
}
167-
this._transport.send(escape.quote(data));
167+
return this._transport.send(escape.quote(data));
168168
};
169169

170170
SockJS.version = require('./version');

lib/transport/iframe.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ IframeTransport.prototype.postMessage = function(type, data) {
128128
IframeTransport.prototype.send = function(message) {
129129
debug('send', message);
130130
this.postMessage('m', message);
131+
return true;
131132
};
132133

133134
IframeTransport.enabled = function() {

lib/transport/lib/buffered-sender.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ BufferedSender.prototype.send = function(message) {
2525
if (!this.sendStop) {
2626
this.sendSchedule();
2727
}
28+
return true;
2829
};
2930

3031
// For polling transports in a situation when in the message callback,

lib/transport/websocket.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,17 @@ function WebSocketTransport(transUrl, ignore, options) {
5454
self.emit('close', 1006, 'WebSocket connection broken');
5555
self._cleanup();
5656
};
57+
this.ws.on('drain', function() {
58+
self.emit('drain');
59+
})
5760
}
5861

5962
inherits(WebSocketTransport, EventEmitter);
6063

6164
WebSocketTransport.prototype.send = function(data) {
6265
var msg = '[' + data + ']';
6366
debug('send', msg);
64-
this.ws.send(msg);
67+
return this.ws.send(msg);
6568
};
6669

6770
WebSocketTransport.prototype.close = function() {

lib/version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
module.exports = '1.6.2';
1+
module.exports = '0.0.3';

0 commit comments

Comments
 (0)