code: function StatelessClientChannel(client, writableFactory, opts) {
    ClientChannel.call(this, client, opts);
    this._writableFactory = writableFactory;
  
    if (!opts || !opts.noPing) {
      // Ping the server to check whether the remote protocol is compatible.
      // If not, this will throw an error on the channel.
      debug('emitting ping request');
      this.ping();
    }
  }
docs: Factory-based client channel.
  
  This channel 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 channel 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 channels are compatible with any server
  implementation.