Class PortManagerImpl

    • Constructor Detail

      • PortManagerImpl

        public PortManagerImpl​()
    • Method Detail

      • isPortBound

        public boolean isPortBound​(int aPortNumber)
        Determines whether the given Port-Number is already in use. This is achieved by testing whether another resource has reserved the port manually (via PortManager.bindPort(int), PortManager.bindAnyPort() or PortManager.bindNextPort(int)) or if the port is already in use and cannot be bound, e.g. there is already some Server-Socket technically bound to the given port.
        Specified by:
        isPortBound in interface PortManager
        Parameters:
        aPortNumber - The port number to be tested if it is already bound.
        Returns:
        True in case the port is being bound already, else false if it still available.
      • unbindPort

        public boolean unbindPort​(Integer aPortNumber)
                           throws IllegalArgumentException
        Unbinds a port for the given Port-Number using the Integer as handle for unbinding. This means that another Integer instance with another identity fails to unbind the given port.
        Specified by:
        unbindPort in interface PortManager
        Parameters:
        aPortNumber - The Port-Number for the port to be unbound.
        Returns:
        True in case the port has been unbound or false if the port was not bound at all.
        Throws:
        IllegalArgumentException - thrown in case the ginven Integer identity is not allowed to unbind the given port.
      • bindNextPort

        public Integer bindNextPort​(int aBeginPortIndex,
                                    int aEndPortIndex)
                             throws PortNotFoundRuntimeException
        The first free port in the range of the given begin Port-Number index and the given end Port-Number index is bound (reserved) and returned. A port is aught to be free when PortManager.isPortBound(int) returns false.
        Specified by:
        bindNextPort in interface PortManager
        Parameters:
        aBeginPortIndex - The begin index (included) of the Port-Number which to bind (reserve).
        aEndPortIndex - The end index (included) of the Port-Number which to bind (reserve).
        Returns:
        The next free port being reserved. The Integer instance is the handle for unbinding a port via PortManager.unbindPort(Integer).
        Throws:
        PortNotFoundRuntimeException - thrown in case no port can be determined.
      • isPortAvaialble

        public boolean isPortAvaialble​(int aPortNumber)
        Tests whether there is already some Server-Socket technically bound to the given port. This method does not test if the port is reserved, it just tests if a Server-Socket could still technically bind to this port.
        Specified by:
        isPortAvaialble in interface PortManager
        Parameters:
        aPortNumber - The Port-Number to be technically tested if a Server-Socket could still bind to it.
        Returns:
        True if the port could technically be bound to, else false if some Server-Socket is already bound to this port (or the Security-Manager prevents binding to the port).