[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/symfony/process/Exception/ -> ProcessTimedOutException.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\Process\Exception;
  13  
  14  use Symfony\Component\Process\Process;
  15  
  16  /**
  17   * Exception that is thrown when a process times out.
  18   *
  19   * @author Johannes M. Schmitt <schmittjoh@gmail.com>
  20   */
  21  class ProcessTimedOutException extends RuntimeException
  22  {
  23      const TYPE_GENERAL = 1;
  24      const TYPE_IDLE = 2;
  25  
  26      private $process;
  27      private $timeoutType;
  28  
  29      public function __construct(Process $process, $timeoutType)
  30      {
  31          $this->process = $process;
  32          $this->timeoutType = $timeoutType;
  33  
  34          parent::__construct(sprintf(
  35              'The process "%s" exceeded the timeout of %s seconds.',
  36              $process->getCommandLine(),
  37              $this->getExceededTimeout()
  38          ));
  39      }
  40  
  41      public function getProcess()
  42      {
  43          return $this->process;
  44      }
  45  
  46      public function isGeneralTimeout()
  47      {
  48          return self::TYPE_GENERAL === $this->timeoutType;
  49      }
  50  
  51      public function isIdleTimeout()
  52      {
  53          return self::TYPE_IDLE === $this->timeoutType;
  54      }
  55  
  56      public function getExceededTimeout()
  57      {
  58          switch ($this->timeoutType) {
  59              case self::TYPE_GENERAL:
  60                  return $this->process->getTimeout();
  61  
  62              case self::TYPE_IDLE:
  63                  return $this->process->getIdleTimeout();
  64  
  65              default:
  66                  throw new \LogicException(sprintf('Unknown timeout type "%d".', $this->timeoutType));
  67          }
  68      }
  69  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1