code: function Adapter(clientPtcl, serverPtcl, fingerprint) {
    this._clientPtcl = clientPtcl;
    this._serverPtcl = serverPtcl;
    this._fingerprint = fingerprint; // Convenience.
    this._rsvs = clientPtcl.equals(serverPtcl) ? null : this._createResolvers();
  }
docs: Protocol resolution helper.
  
  It is used both by emitters and listeners, to respectively decode errors and
  responses, or requests.