/**
  * {@inheritdoc}
  */
 protected function getConnection(&$profile = null, $initialize = false, array $parameters = array())
 {
     $parameters = $this->getParameters($parameters);
     $profile = $this->getProfile();
     $connection = new StreamConnection($parameters);
     if ($initialize) {
         $connection->pushInitCommand($profile->createCommand('select', array($parameters->database)));
         $connection->pushInitCommand($profile->createCommand('flushdb'));
     }
     return $connection;
 }
 /**
  * {@inheritdoc}
  */
 public function writeBytes($buffer)
 {
     parent::writeBytes($buffer);
 }
 /**
  * {@inheritdoc}
  */
 public function __sleep()
 {
     return array_merge(parent::__sleep(), array('protocol'));
 }
 public function readResponse(ICommand $command)
 {
     $reply = parent::readResponse($command);
     $this->storeDebug($command, '<-');
     return $reply;
 }