Class ServerLoad

  • All Implemented Interfaces:
    Serializable, DataSerializable

    public final class ServerLoad
    extends Object
    implements DataSerializable
    A data object containing the load information for a cache server. This object is returned from ServerLoadProbe.getLoad(ServerMetrics) and indicates how heavily loaded the server is. The values returned by getConnectionLoad() and getSubscriptionConnectionLoad() can be any number greater than 0. A larger load value means that the server has more load. The values returned by getLoadPerConnection() and getLoadPerSubscriptionConnection are used to estimate the effect of new connections before the connects are actually made to this server. The load is estimated as load + loadPerConnection*numAdditionalConnections.
    Since:
    GemFire 5.7
    See Also:
    Serialized Form
    • Constructor Detail

      • ServerLoad

        public ServerLoad​(float connectionLoad,
                          float loadPerConnection,
                          float subscriptionConnectionLoad,
                          float loadPerSubscriptionConnection)
      • ServerLoad

        public ServerLoad()
    • Method Detail

      • getConnectionLoad

        public float getConnectionLoad()
        Get the load on the server due to client to server connections.
        Returns:
        a float greater than or equals to 0
      • getLoadPerConnection

        public float getLoadPerConnection()
        Get an estimate of the how much load each new connection will add to this server. The locator uses this information to estimate the load on the server before it receives a new load snapshot.
        Returns:
        a float greater than or equals to 0
      • getSubscriptionConnectionLoad

        public float getSubscriptionConnectionLoad()
        Get the load on the server due to subscription connections.
        Returns:
        a float greater than or equals to 0
      • getLoadPerSubscriptionConnection

        public float getLoadPerSubscriptionConnection()
        Get an estimate of the how much load each new subscriber will add to this server. The locator uses this information to estimate the load on the server before it receives a new load snapshot.
        Returns:
        a float greater than or equals to 0
      • setConnectionLoad

        public void setConnectionLoad​(float connectionLoad)
        Set the load due to client to server connections.
        Parameters:
        connectionLoad - the load due to client to server connections
      • setSubscriptionConnectionLoad

        public void setSubscriptionConnectionLoad​(float subscriberLoad)
        Set the load due to client subscriptions.
        Parameters:
        subscriberLoad - he load due to client subscriptions
      • setLoadPerConnection

        public void setLoadPerConnection​(float loadPerConnection)
        Set the estimated load per connection.
        Parameters:
        loadPerConnection - the estimated load per connection
      • setLoadPerSubscriptionConnection

        public void setLoadPerSubscriptionConnection​(float loadPerSubscriber)
        Set the estimated load per subscription connection.
        Parameters:
        loadPerSubscriber - the estimated load per subscription connection
      • toData

        public void toData​(DataOutput out)
                    throws IOException
        Description copied from interface: DataSerializable
        Writes the state of this object as primitive data to the given DataOutput.

        Since 5.7 it is possible for any method call to the specified DataOutput to throw GemFireRethrowable. It should not be caught by user code. If it is it must be rethrown.

        Specified by:
        toData in interface DataSerializable
        Parameters:
        out - the DataOutput to write to
        Throws:
        IOException - A problem occurs while writing to out
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object