/** * @param IdentityInterface[] $identities * @param string $proxyString * @param RandomizerInterface|null $randomizer * @param RandomCounterIntervalInterface|null $randomCounter * @param callable $evaluationFunction . [optional]. Default: null. (Default: true if $event is an instance of CompleteEvent) * @param int $maxConsecutiveFails [optional]. Default: 5. (use -1 for infinite fails) * @param int $maxTotalFails [optional]. Default: -1. (use -1 for infinite fails) * @param TimeIntervalInterface $randomWaitInterval . Default: null. * @throws \InvalidArgumentException */ public function __construct(array $identities, $proxyString, RandomizerInterface $randomizer = null, RandomCounterIntervalInterface $randomCounter = null, callable $evaluationFunction = null, $maxConsecutiveFails = null, $maxTotalFails = null, TimeIntervalInterface $randomWaitInterval = null) { if (count($identities) == 0) { throw new \InvalidArgumentException("Number of identities must be greater 0"); } $this->identities = $identities; if ($randomizer === null) { $randomizer = new SystemRandomizer(); } $this->randomizer = $randomizer; if ($randomCounter === null) { $randomCounter = new NullRandomCounter(); } $this->randomCounter = $randomCounter; parent::__construct($proxyString, $evaluationFunction, $maxConsecutiveFails, $maxTotalFails, $randomWaitInterval); }