/** * Returns the connection currently associated to a given slot. * * @param int $slot Slot index. * * @throws \OutOfBoundsException * * @return NodeConnectionInterface */ public function getConnectionBySlot($slot) { if (!SlotMap::isValid($slot)) { throw new \OutOfBoundsException("Invalid slot [{$slot}]."); } if (isset($this->slots[$slot])) { return $this->slots[$slot]; } $connectionID = $this->guessNode($slot); if (!($connection = $this->getConnectionById($connectionID))) { $connection = $this->createConnection($connectionID); $this->pool[$connectionID] = $connection; } return $this->slots[$slot] = $connection; }