/** {@inheritdoc} */
 public function getResponse(RpcRequestInterface $request)
 {
     if (!$this->initialized) {
         $this->init();
     }
     return $this->collection->getResponse($request);
 }
 /** {@inheritdoc} */
 public function getResponse(RpcRequestInterface $request)
 {
     $key = $this->extractor->getKey($request);
     /** @var CacheItemInterface $item */
     $item = $this->items[$key]['item'];
     if ($item->isHit()) {
         return $item->get();
     }
     $item->expiresAfter($this->ttl);
     $item->set($this->proxiedCollection->getResponse($request));
     $this->cache->save($item);
     return $item->get();
 }
 /** {@inheritdoc} */
 public function getIterator()
 {
     /** @var \Iterator $iterator */
     $iterator = null;
     do {
         $this->stopwatch->start($this->client, 'rpc_response');
         if (null === $iterator) {
             if ($this->collection instanceof \IteratorAggregate) {
                 $iterator = $this->collection->getIterator();
             } elseif ($this->collection instanceof \Iterator) {
                 $iterator = $this->collection;
             }
             $iterator->rewind();
         }
         $value = $iterator->current();
         $this->stopwatch->start($this->client, 'rpc_response');
         $iterator->next();
         (yield $value);
     } while ($iterator->valid());
 }
 /** {@inheritdoc} */
 public function getResponse(RpcRequestInterface $request)
 {
     $response = $this->collection->getResponse($request);
     $this->profiler->registerResponse($response, $request);
     return $response;
 }
 /** {@inheritdoc} */
 public function getResponse(RpcRequestInterface $request)
 {
     $response = $this->decoratedCollection->getResponse($request);
     $this->logResponseWithRequest($request, $response);
     return $response;
 }