Open Journal Systems  3.3.0
Guzzle\Http\Curl\CurlMultiProxy Class Reference
Inheritance diagram for Guzzle\Http\Curl\CurlMultiProxy:
Guzzle\Common\AbstractHasDispatcher Guzzle\Http\Curl\CurlMultiInterface Guzzle\Common\HasDispatcherInterface Guzzle\Common\HasDispatcherInterface

Public Member Functions

 __construct ($maxHandles=3, $selectTimeout=1.0)
 
 add (RequestInterface $request)
 
 all ()
 
 count ()
 
 remove (RequestInterface $request)
 
 reset ($hard=false)
 
 send ()
 
- Public Member Functions inherited from Guzzle\Common\AbstractHasDispatcher
 addSubscriber (EventSubscriberInterface $subscriber)
 
 dispatch ($eventName, array $context=array())
 
 getEventDispatcher ()
 
 setEventDispatcher (EventDispatcherInterface $eventDispatcher)
 

Protected Member Functions

 cleanupHandles ()
 
 getAvailableHandle ()
 

Protected Attributes

 $groups = array()
 
 $handles = array()
 
 $maxHandles
 
 $queued = array()
 
 $selectTimeout
 
- Protected Attributes inherited from Guzzle\Common\AbstractHasDispatcher
 $eventDispatcher
 

Additional Inherited Members

- Static Public Member Functions inherited from Guzzle\Common\AbstractHasDispatcher
static getAllEvents ()
 
- Data Fields inherited from Guzzle\Http\Curl\CurlMultiInterface
const ADD_REQUEST = 'curl_multi.add_request'
 
const BLOCKING = 'curl_multi.blocking'
 
const MULTI_EXCEPTION = 'curl_multi.exception'
 
const POLLING_REQUEST = 'curl_multi.polling_request'
 
const REMOVE_REQUEST = 'curl_multi.remove_request'
 

Detailed Description

Proxies requests and connections to a pool of internal curl_multi handles. Each recursive call will add requests to the next available CurlMulti handle.

Definition at line 12 of file CurlMultiProxy.php.

Constructor & Destructor Documentation

◆ __construct()

Guzzle\Http\Curl\CurlMultiProxy::__construct (   $maxHandles = 3,
  $selectTimeout = 1.0 
)
Parameters
int$maxHandlesThe maximum number of idle CurlMulti handles to allow to remain open
float$selectTimeouttimeout for curl_multi_select

Definition at line 24 of file CurlMultiProxy.php.

References Guzzle\Http\Curl\CurlMultiProxy\$maxHandles, and Guzzle\Http\Curl\CurlMultiProxy\$selectTimeout.

Member Function Documentation

◆ add()

Guzzle\Http\Curl\CurlMultiProxy::add ( RequestInterface  $request)

Add a request to the pool.

Parameters
RequestInterface$requestRequest to add
Returns
CurlMultiInterface

Implements Guzzle\Http\Curl\CurlMultiInterface.

Definition at line 35 of file CurlMultiProxy.php.

◆ all()

Guzzle\Http\Curl\CurlMultiProxy::all ( )

Get an array of attached {

See also
RequestInterface} objects
Returns
array

Implements Guzzle\Http\Curl\CurlMultiInterface.

Definition at line 42 of file CurlMultiProxy.php.

References Guzzle\Http\Curl\CurlMultiProxy\$queued.

Referenced by Guzzle\Http\Curl\CurlMultiProxy\count().

◆ cleanupHandles()

Guzzle\Http\Curl\CurlMultiProxy::cleanupHandles ( )
protected

Trims down unused CurlMulti handles to limit the number of open connections

Definition at line 138 of file CurlMultiProxy.php.

References Guzzle\Http\Curl\CurlMultiProxy\count().

Referenced by Guzzle\Http\Curl\CurlMultiProxy\send().

◆ count()

Guzzle\Http\Curl\CurlMultiProxy::count ( )

◆ getAvailableHandle()

Guzzle\Http\Curl\CurlMultiProxy::getAvailableHandle ( )
protected

Get an existing available CurlMulti handle or create a new one

Returns
CurlMulti

Definition at line 118 of file CurlMultiProxy.php.

References Guzzle\Common\AbstractHasDispatcher\getEventDispatcher().

Referenced by Guzzle\Http\Curl\CurlMultiProxy\send().

◆ remove()

Guzzle\Http\Curl\CurlMultiProxy::remove ( RequestInterface  $request)

Remove a request from the pool.

Parameters
RequestInterface$requestRequest to remove
Returns
bool Returns true on success or false on failure

Implements Guzzle\Http\Curl\CurlMultiInterface.

Definition at line 52 of file CurlMultiProxy.php.

◆ reset()

Guzzle\Http\Curl\CurlMultiProxy::reset (   $hard = false)

Reset the state and remove any attached RequestInterface objects

Parameters
bool$hardSet to true to close and reopen any open multi handles

Implements Guzzle\Http\Curl\CurlMultiInterface.

Definition at line 70 of file CurlMultiProxy.php.

◆ send()

Guzzle\Http\Curl\CurlMultiProxy::send ( )

Send a pool of {

See also
RequestInterface} requests.
Exceptions
ExceptionCollectionif any requests threw exceptions during the transfer.

Implements Guzzle\Http\Curl\CurlMultiInterface.

Definition at line 84 of file CurlMultiProxy.php.

References Guzzle\Http\Curl\CurlMultiProxy\cleanupHandles(), and Guzzle\Http\Curl\CurlMultiProxy\getAvailableHandle().

Field Documentation

◆ $groups

Guzzle\Http\Curl\CurlMultiProxy::$groups = array()
protected

Definition at line 15 of file CurlMultiProxy.php.

◆ $handles

Guzzle\Http\Curl\CurlMultiProxy::$handles = array()
protected

Definition at line 14 of file CurlMultiProxy.php.

◆ $maxHandles

Guzzle\Http\Curl\CurlMultiProxy::$maxHandles
protected

Definition at line 17 of file CurlMultiProxy.php.

Referenced by Guzzle\Http\Curl\CurlMultiProxy\__construct().

◆ $queued

Guzzle\Http\Curl\CurlMultiProxy::$queued = array()
protected

Definition at line 16 of file CurlMultiProxy.php.

Referenced by Guzzle\Http\Curl\CurlMultiProxy\all().

◆ $selectTimeout

Guzzle\Http\Curl\CurlMultiProxy::$selectTimeout
protected

Definition at line 18 of file CurlMultiProxy.php.

Referenced by Guzzle\Http\Curl\CurlMultiProxy\__construct().


The documentation for this class was generated from the following file: