/** {@inheritdoc} */ protected function initializeRequest(EventCaller $eventCaller) { parent::initializeRequest($eventCaller); $this->base = new LeBase(); $this->connectStage = $this->stageFactory->createConnectStage($this, $eventCaller, $this->solver); $this->ioStage = $this->stageFactory->createIoStage($this, $eventCaller); $this->disconnectStage = $this->stageFactory->createDisconnectStage($this, $eventCaller); $this->delayStage = $this->stageFactory->createDelayStage($this, $eventCaller); $this->timeoutStage = new TimeoutStage($this, $eventCaller); }
/** * Create Pipeline * * @param RequestExecutorInterface $executor Request executor * @param EventCaller $eventCaller Event caller * @param LimitationSolverInterface $limitationDecider Limitation solver * * @return Pipeline */ public function createPipeline(RequestExecutorInterface $executor, EventCaller $eventCaller, LimitationSolverInterface $limitationDecider) { $selector = $this->createSelector(); $disconnectStage = $this->stageFactory->createDisconnectStage($executor, $eventCaller, $selector); return new Pipeline($this->stageFactory->createConnectStage($executor, $eventCaller, $limitationDecider), [new ExcludedOperationsStage($executor, $eventCaller, [$this->stageFactory->createDelayStage($executor, $eventCaller), new SelectStage($executor, $eventCaller, $selector), $this->stageFactory->createIoStage($executor, $eventCaller), $disconnectStage]), new TimeoutStage($executor, $eventCaller), $disconnectStage], $disconnectStage); }