code: function Protocol(remote, socket, version, maxFrameSize) {
  
      function protocol() {
          this.socket = socket;
          this.maxFrameSize = maxFrameSize;
          this.isConnected = true;
          this.remote = remote;
      }
  
      protocol.prototype = {
          6: Protocol6,
          13: Protocol13
  
      }[version];
  
      return new protocol();
  
  }
docs: Protocol Abstraction ------------------------------------------------------- ----------------------------------------------------------------------------