PHP Class Swift_Plugins_ThrottlerPlugin

Author: Chris Corbyn
Inheritance: extends Swift_Plugins_BandwidthMonitorPlugin, implements Swift_Plugins_Sleeper, implements Swift_Plugins_Timer
Show file Open project: swiftmailer/swiftmailer Class Usage Examples

Public Methods

Method Description
__construct ( integer $rate, $mode = self::BYTES_PER_MINUTE, Swift_Plugins_Sleeper $sleeper = null, Swift_Plugins_Timer $timer = null ) Create a new ThrottlerPlugin.
beforeSendPerformed ( Swift_Events_SendEvent $evt ) Invoked immediately before the Message is sent.
getTimestamp ( ) : integer Get the current UNIX timestamp.
sendPerformed ( Swift_Events_SendEvent $evt ) Invoked when a Message is sent.
sleep ( integer $seconds ) Sleep for $seconds.

Private Methods

Method Description
throttleBytesPerMinute ( integer $timePassed ) : integer Get a number of seconds to sleep for.
throttleMessagesPerMinute ( integer $timePassed ) : integer Get a number of seconds to sleep for.
throttleMessagesPerSecond ( integer $timePassed ) : integer Get a number of seconds to sleep for.

Method Details

__construct() public method

Create a new ThrottlerPlugin.
public __construct ( integer $rate, $mode = self::BYTES_PER_MINUTE, Swift_Plugins_Sleeper $sleeper = null, Swift_Plugins_Timer $timer = null )
$rate integer
$sleeper Swift_Plugins_Sleeper (only needed in testing)
$timer Swift_Plugins_Timer (only needed in testing)

beforeSendPerformed() public method

Invoked immediately before the Message is sent.
public beforeSendPerformed ( Swift_Events_SendEvent $evt )
$evt Swift_Events_SendEvent

getTimestamp() public method

Get the current UNIX timestamp.
public getTimestamp ( ) : integer
return integer

sendPerformed() public method

Invoked when a Message is sent.
public sendPerformed ( Swift_Events_SendEvent $evt )
$evt Swift_Events_SendEvent

sleep() public method

Sleep for $seconds.
public sleep ( integer $seconds )
$seconds integer