diff options
| author | Yuchen Pei <hi@ypei.me> | 2021-10-15 09:52:00 +1100 | 
|---|---|---|
| committer | Yuchen Pei <hi@ypei.me> | 2021-10-15 09:52:00 +1100 | 
| commit | 71b0e901f5fb1cfcd162d8acc23120d3f77a3152 (patch) | |
| tree | 323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php | |
| parent | 72cce24864b064b5762f4fe97fdf40d8d2ad4b51 (diff) | |
| parent | 07f5140771388c9e0c8a99b0dd2e5d950bdb173b (diff) | |
Merge branch 'development' into h-node
Diffstat (limited to 'h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php')
| -rwxr-xr-x | h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php | 188 | 
1 files changed, 0 insertions, 188 deletions
| diff --git a/h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php b/h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php deleted file mode 100755 index 367981b..0000000 --- a/h-source/External/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php +++ /dev/null @@ -1,188 +0,0 @@ -<?php - -/* - * This file is part of SwiftMailer. - * (c) 2004-2009 Chris Corbyn - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -//@require 'Swift/Transport.php'; -//@require 'Swift/Mime/Message.php'; -//@require 'Swift/Events/EventListener.php'; - -/** - * Redudantly and rotationally uses several Transports when sending. - *  - * @package Swift - * @subpackage Transport - * @author Chris Corbyn - */ -class Swift_Transport_LoadBalancedTransport implements Swift_Transport -{ -   -  /** Transports which are deemed useless */ -  private $_deadTransports = array(); -   -  /** -   * The Transports which are used in rotation. -   *  -   * @var array Swift_Transport -   * @access protected -   */ -  protected $_transports = array(); -   -  /** -   * Creates a new LoadBalancedTransport. -   */ -  public function __construct() -  { -  } -   -  /** -   * Set $transports to delegate to. -   *  -   * @param array $transports Swift_Transport -   */ -  public function setTransports(array $transports) -  { -    $this->_transports = $transports; -    $this->_deadTransports = array(); -  } -   -  /** -   * Get $transports to delegate to. -   *  -   * @return array Swift_Transport -   */ -  public function getTransports(array $transports) -  { -    return array_merge($this->_transports, $this->_deadTransports); -  } -   -  /** -   * Test if this Transport mechanism has started. -   *  -   * @return boolean -   */ -  public function isStarted() -  { -    return count($this->_transports) > 0; -  } -   -  /** -   * Start this Transport mechanism. -   */ -  public function start() -  { -    $this->_transports = array_merge($this->_transports, $this->_deadTransports); -  } -   -  /** -   * Stop this Transport mechanism. -   */ -  public function stop() -  { -    foreach ($this->_transports as $transport) -    { -      $transport->stop(); -    } -  } -   -  /** -   * Send the given Message. -   *  -   * Recipient/sender data will be retreived from the Message API. -   * The return value is the number of recipients who were accepted for delivery. -   *  -   * @param Swift_Mime_Message $message -   * @param string[] &$failedRecipients to collect failures by-reference -   * @return int -   */ -  public function send(Swift_Mime_Message $message, &$failedRecipients = null) -  { -    $maxTransports = count($this->_transports); -    $sent = 0; -     -    for ($i = 0; $i < $maxTransports -      && $transport = $this->_getNextTransport(); ++$i) -    { -      try -      { -        if (!$transport->isStarted()) -        { -          $transport->start(); -        } -        if ($sent = $transport->send($message, $failedRecipients)) -        { -          break; -        } -      } -      catch (Swift_TransportException $e) -      { -        $this->_killCurrentTransport(); -      } -    } -     -    if (count($this->_transports) == 0) -    { -      throw new Swift_TransportException( -        'All Transports in LoadBalancedTransport failed, or no Transports available' -        ); -    } -     -    return $sent; -  } -   -  /** -   * Register a plugin. -   *  -   * @param Swift_Events_EventListener $plugin -   */ -  public function registerPlugin(Swift_Events_EventListener $plugin) -  { -    foreach ($this->_transports as $transport) -    { -      $transport->registerPlugin($plugin); -    } -  } -   -  // -- Protected methods -   -  /** -   * Rotates the transport list around and returns the first instance. -   *  -   * @return Swift_Transport -   * @access protected -   */ -  protected function _getNextTransport() -  { -    if ($next = array_shift($this->_transports)) -    { -      $this->_transports[] = $next; -    } -    return $next; -  } -   -  /** -   * Tag the currently used (top of stack) transport as dead/useless. -   *  -   * @access protected -   */ -  protected function _killCurrentTransport() -  { -    if ($transport = array_pop($this->_transports)) -    { -      try -      { -        $transport->stop(); -      } -      catch (Exception $e) -      { -      } -      $this->_deadTransports[] = $transport; -    } -  } -   -} | 
