docs: function(callback, context) {
      if (this._advice.reconnect === this.NONE) return;
      if (this._state === this.DISCONNECTED) return;
  
      if (this._state === this.UNCONNECTED)
        return this.handshake(function() { this.connect(callback, context) }, this);
  
      this.callback(callback, context);
      if (this._state !== this.CONNECTED) return;
  
      this.info('Calling deferred actions for ?', this._clientId);
      this.setDeferredStatus('succeeded');
      this.setDeferredStatus('unknown');
  
      if (this._connectRequest) return;
      this._connectRequest = true;
  
      this.info('Initiating connection for ?', this._clientId);
  
      this._send({
        channel:        Faye.Channel.CONNECT,
        clientId:       this._clientId,
        connectionType: this._transport.connectionType
  
      }, this._cycleConnection, this);
    }