PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis; use Predis\Connection\SingleConnectionInterface; /** * Base exception class for network-related errors. * * @author Daniele Alessandri */ abstract class CommunicationException extends PredisException { private $connection; /** * @param SingleConnectionInterface $connection Connection that generated the exception. * @param string $message Error message. * @param int $code Error code. * @param \Exception $innerException Inner exception for wrapping the original error. */ public function __construct( SingleConnectionInterface $connection, $message = null, $code = null, \Exception $innerException = null ) { parent::__construct($message, $code, $innerException); $this->connection = $connection; } /** * Gets the connection that generated the exception. * * @return SingleConnectionInterface */ public function getConnection() { return $this->connection; } /** * Indicates if the receiver should reset the underlying connection. * * @return bool */ public function shouldResetConnection() { return true; } /** * Offers a generic and reusable method to handle exceptions generated by * a connection object. * * @param CommunicationException $exception Exception. */ public static function handle(CommunicationException $exception) { if ($exception->shouldResetConnection()) { $connection = $exception->getConnection(); if ($connection->isConnected()) { $connection->disconnect(); } } throw $exception; } }