lib/protocols.js
function StatelessEmitter(ptcl, writableFactory, opts) {
  MessageEmitter.call(this, ptcl, opts);
  this._writableFactory = writableFactory;

  if (!opts || !opts.noPing) {
    // Ping the server to check whether the remote protocol is compatible.
    this.emitMessage('', {}, function (err) {
      if (err) {
        this.emit('error', err);
      }
    });
  }
}
function StatelessEmitter(ptcl, writableFactory, opts) {
  MessageEmitter.call(this, ptcl, opts);
  this._writableFactory = writableFactory;

  if (!opts || !opts.noPing) {
    // Ping the server to check whether the remote protocol is compatible.
    this.emitMessage('', {}, function (err) {
      if (err) {
        this.emit('error', err);
      }
    });
  }
}
function StatelessEmitter ( ptcl , writableFactory , opts ) { MessageEmitter . call ( this , ptcl , opts ) ; this . _writableFactory = writableFactory ; if ( ! opts || ! opts . noPing ) { // Ping the server to check whether the remote protocol is compatible. this . emitMessage ( '' , { } , function ( err ) { if ( err ) { this . emit ( 'error' , err ) ; } } ) ; } }
Factory-based emitter.

This emitter doesn't keep a persistent connection to the server and requires
prepending a handshake to each message emitted. Usage examples include
talking to an HTTP server (where the factory returns an HTTP request).

Since each message will use its own writable/readable stream pair, the
advantage of this emitter is that it is able to keep track of which response
corresponds to each request without relying on transport ordering. In
particular, this means these emitters are compatible with any server
implementation.
Factory - based emitter .