Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. Pool.php

function Pool::__construct

Same name in this branch
  1. 11.1.x vendor/composer/composer/src/Composer/DependencyResolver/Pool.php \Composer\DependencyResolver\Pool::__construct()

Parameters

ClientInterface $client Client used to send the requests.:

array|\Iterator $requests Requests or functions that return: requests to send concurrently.

array $config Associative array of options:

  • concurrency: (int) Maximum number of requests to send concurrently
  • options: Array of request options to apply to each request.
  • fulfilled: (callable) Function to invoke when a request completes.
  • rejected: (callable) Function to invoke when a request is rejected.

File

vendor/guzzlehttp/guzzle/src/Pool.php, line 41

Class

Pool
Sends an iterator of requests concurrently using a capped pool size.

Namespace

GuzzleHttp

Code

public function __construct(ClientInterface $client, $requests, array $config = []) {
    if (!isset($config['concurrency'])) {
        $config['concurrency'] = 25;
    }
    if (isset($config['options'])) {
        $opts = $config['options'];
        unset($config['options']);
    }
    else {
        $opts = [];
    }
    $iterable = P\Create::iterFor($requests);
    $requests = static function () use ($iterable, $client, $opts) {
        foreach ($iterable as $key => $rfn) {
            if ($rfn instanceof RequestInterface) {
                (yield $key => $client->sendAsync($rfn, $opts));
            }
            elseif (\is_callable($rfn)) {
                (yield $key => $rfn($opts));
            }
            else {
                throw new \InvalidArgumentException('Each value yielded by the iterator must be a Psr7\\Http\\Message\\RequestInterface or a callable that returns a promise that fulfills with a Psr7\\Message\\Http\\ResponseInterface object.');
            }
        }
    };
    $this->each = new EachPromise($requests(), $config);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal