Class HostPorts


  • public class HostPorts
    extends java.lang.Object
    Allocator for network ports on a host
    Author:
    arnej
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int BASE_PORT  
    • Constructor Summary

      Constructors 
      Constructor Description
      HostPorts​(java.lang.String hostname)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addNetworkPorts​(com.yahoo.config.provision.NetworkPorts ports)
      Add port allocation from previous deployments.
      int allocateNetworkPort​(NetworkPortRequestor service, java.lang.String suffix)
      Allocate a dynamic port number for a service
      void flushPortReservations()  
      java.util.Optional<com.yahoo.config.provision.NetworkPorts> networkPorts()
      Get the allocated network ports.
      int requireNetworkPort​(int port, NetworkPortRequestor service, java.lang.String suffix)
      Allocate a specific port number for a service
      java.lang.String toString()  
      void useLogger​(com.yahoo.config.application.api.DeployLogger logger)
      Setup logging in order to send warnings back to the user.
      int wantNetworkPort​(int port, NetworkPortRequestor service, java.lang.String suffix)
      Allocate a preferred port number for a service, fall back to using any dynamic port
      int wantNetworkPort​(int port, NetworkPortRequestor service, java.lang.String suffix, boolean forceRequired)
      Convenience method to allocate a preferred or required port number for a service
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • HostPorts

        public HostPorts​(java.lang.String hostname)
    • Method Detail

      • networkPorts

        public java.util.Optional<com.yahoo.config.provision.NetworkPorts> networkPorts()
        Get the allocated network ports. Should be called after allocation is complete and flushPortReservations has been called
      • addNetworkPorts

        public void addNetworkPorts​(com.yahoo.config.provision.NetworkPorts ports)
        Add port allocation from previous deployments. Call this before starting port allocations, to re-use existing ports where possible
      • useLogger

        public void useLogger​(com.yahoo.config.application.api.DeployLogger logger)
        Setup logging in order to send warnings back to the user.
      • requireNetworkPort

        public int requireNetworkPort​(int port,
                                      NetworkPortRequestor service,
                                      java.lang.String suffix)
        Allocate a specific port number for a service
      • wantNetworkPort

        public int wantNetworkPort​(int port,
                                   NetworkPortRequestor service,
                                   java.lang.String suffix)
        Allocate a preferred port number for a service, fall back to using any dynamic port
      • wantNetworkPort

        public int wantNetworkPort​(int port,
                                   NetworkPortRequestor service,
                                   java.lang.String suffix,
                                   boolean forceRequired)
        Convenience method to allocate a preferred or required port number for a service
      • allocateNetworkPort

        public int allocateNetworkPort​(NetworkPortRequestor service,
                                       java.lang.String suffix)
        Allocate a dynamic port number for a service
      • flushPortReservations

        public void flushPortReservations()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object