HH\Lib\Async\Semaphore::__construct

Facebook Engineer?

The containing class is available as Async\Semaphore in the www repository.

Create a semaphore

public function __construct(
  int $concurrentLimit,
  (function(Tin): Awaitable<Tout>) $f,
);

The concurrent limit is per instance; for example, if there are two ongoing requests executing the same code, there will be up to concurrentLimit in each request, meaning up to 2 * concurrentLimit in total.

Parameters

  • int $concurrentLimit
  • (function(Tin): Awaitable<Tout>) $f