public function __construct(\PDO $pdo, $timeout = 3)
{
if ($pdo->getAttribute(\PDO::ATTR_ERRMODE) !== \PDO::ERRMODE_EXCEPTION) {
throw new \InvalidArgumentException("The pdo must have PDO::ERRMODE_EXCEPTION set.");
}
self::checkAutocommit($pdo);
$this->pdo = $pdo;
$this->loop = new Loop($timeout);
}