NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Interface CurlMultiInterface

Interface for sending a pool of `Guzzle\Http\Message\RequestInterface` objects in parallel

  Guzzle\Http\Curl\CurlMultiInterface implements Countable, Guzzle\Common\HasDispatcherInterface

### Direct known implementers

`Guzzle\Http\Curl\CurlMulti`, `Guzzle\Http\Curl\CurlMultiProxy`

Namespace: Guzzle\Http\Curl
Located at Guzzle/Http/Curl/CurlMultiInterface.php

## Methods summary

- `public` `add ( Guzzle\Http\Message\RequestInterface $request )`

  Add a request to the pool.

- `public` `all ( )`

  Get an array of attached `Guzzle\Http\Message\RequestInterface` objects

- `public` `remove ( Guzzle\Http\Message\RequestInterface $request )`

  Remove a request from the pool.

- `public` `reset ( bool $hard = false )`

  Reset the state and remove any attached RequestInterface objects

- `public` `send ( )`

  Send a pool of `Guzzle\Http\Message\RequestInterface` requests.

## Methods detail

# `public `Guzzle\Http\Curl\CurlMultiInterface``
`add( `Guzzle\Http\Message\RequestInterface` $request )`

Add a request to the pool.

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to add

#### Returns

``Guzzle\Http\Curl\CurlMultiInterface``
# `public array`
`all( )`

Get an array of attached `Guzzle\Http\Message\RequestInterface` objects

#### Returns

`array`
# `public boolean`
`remove( `Guzzle\Http\Message\RequestInterface` $request )`

Remove a request from the pool.

#### Parameters

$request
  ``Guzzle\Http\Message\RequestInterface``
  $request Request to remove

#### Returns

`boolean`
Returns true on success or false on failure
# `public`
`reset( boolean $hard = false )`

Reset the state and remove any attached RequestInterface objects

#### Parameters

$hard
  `boolean`
  $hard Set to true to close and reopen any open multi handles

# `public`
`send( )`

Send a pool of `Guzzle\Http\Message\RequestInterface` requests.

#### Throws

``Guzzle\Common\Exception\ExceptionCollection``
if any requests threw exceptions during the transfer.

### Methods inherited from Countable

`count()`

### Methods inherited from Guzzle\Common\HasDispatcherInterface

`addSubscriber()`, `dispatch()`, `getAllEvents()`, `getEventDispatcher()`, `setEventDispatcher()`

### Magic methods summary

## Constants summary

`string` | `POLLING_REQUEST` | `'curl_multi.polling_request'` | #
`string` | `ADD_REQUEST` | `'curl_multi.add_request'` | #
`string` | `REMOVE_REQUEST` | `'curl_multi.remove_request'` | #
`string` | `MULTI_EXCEPTION` | `'curl_multi.exception'` | #
`string` | `BLOCKING` | `'curl_multi.blocking'` | #