Class TapeLibraryPoolImpl

    • Constructor Detail

      • TapeLibraryPoolImpl

        public TapeLibraryPoolImpl​(java.lang.String libraryIdentifier,
                                   java.util.concurrent.BlockingQueue<TapeRobotService> tapeRobotServicePool,
                                   java.util.concurrent.ConcurrentHashMap<java.lang.Integer,​TapeDriveService> tapeDriveServicePool)
    • Method Detail

      • checkoutRobotService

        public TapeRobotService checkoutRobotService()
                                              throws java.lang.InterruptedException
        Description copied from interface: TapeRobotPool
        Retrieves and removes the head of this pool, waiting if necessary until an element becomes available.
        Specified by:
        checkoutRobotService in interface TapeRobotPool
        Returns:
        TapeRobotService
        Throws:
        java.lang.InterruptedException
      • checkoutRobotService

        public TapeRobotService checkoutRobotService​(long timeout,
                                                     java.util.concurrent.TimeUnit unit)
                                              throws java.lang.InterruptedException
        Description copied from interface: TapeRobotPool
        Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.
        Specified by:
        checkoutRobotService in interface TapeRobotPool
        Returns:
        TapeRobotService
        Throws:
        java.lang.InterruptedException
      • checkoutDriveService

        public TapeDriveService checkoutDriveService​(java.lang.Integer driveIndex)
        Description copied from interface: TapeDrivePool
        Retrieves and removes the head of this pool, waiting if necessary until an element becomes available.
        Specified by:
        checkoutDriveService in interface TapeDrivePool
        Returns:
        TapeDriveService
      • pushRobotService

        public void pushRobotService​(TapeRobotService tapeRobotService)
                              throws java.lang.InterruptedException
        Description copied from interface: TapeRobotPool
        Return or add TapeRobotService to the pool
        Specified by:
        pushRobotService in interface TapeRobotPool
        Throws:
        java.lang.InterruptedException