Sha256: c955c9ac97ee27d5f86d22473166cabbcc39be190319ea3c1a7a68685af7b1c2

Contents?: true

Size: 1.15 KB

Versions: 33

Compression:

Stored size: 1.15 KB

Contents

'use strict';

var inherits = require('inherits')
  , urlUtils = require('../../utils/url')
  , BufferedSender = require('./buffered-sender')
  , Polling = require('./polling')
  ;

var debug = function() {};
if (process.env.NODE_ENV !== 'production') {
  debug = require('debug')('sockjs-client:sender-receiver');
}

function SenderReceiver(transUrl, urlSuffix, senderFunc, Receiver, AjaxObject) {
  var pollUrl = urlUtils.addPath(transUrl, urlSuffix);
  debug(pollUrl);
  var self = this;
  BufferedSender.call(this, transUrl, senderFunc);

  this.poll = new Polling(Receiver, pollUrl, AjaxObject);
  this.poll.on('message', function(msg) {
    debug('poll message', msg);
    self.emit('message', msg);
  });
  this.poll.once('close', function(code, reason) {
    debug('poll close', code, reason);
    self.poll = null;
    self.emit('close', code, reason);
    self.close();
  });
}

inherits(SenderReceiver, BufferedSender);

SenderReceiver.prototype.close = function() {
  BufferedSender.prototype.close.call(this);
  debug('close');
  this.removeAllListeners();
  if (this.poll) {
    this.poll.abort();
    this.poll = null;
  }
};

module.exports = SenderReceiver;

Version data entries

33 entries across 32 versions & 11 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.18.0 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.18.2 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.16.1 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.15.2 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.18.4 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.18.1 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.14.0 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
tang-0.2.1 spec/tang_app/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
tang-0.2.0 spec/tang_app/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
tang-0.1.0 spec/tang_app/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
tang-0.0.9 spec/tang_app/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
enju_library-0.3.8 spec/dummy/node_modules/sockjs-client/lib/transport/lib/sender-receiver.js
ilog-0.4.1 node_modules/sockjs-client/lib/transport/lib/sender-receiver.js