Class ConnectionProfile


public final class ConnectionProfile extends Object
A connection profile describes how many connection are established to specific node for each of the available request types. (TransportRequestOptions.Type). This allows to tailor a connection towards a specific usage.
  • Method Details

    • resolveConnectionProfile

      public static ConnectionProfile resolveConnectionProfile(@Nullable ConnectionProfile profile, ConnectionProfile fallbackProfile)
      takes a ConnectionProfile resolves it to a fully specified (i.e., no nulls) profile
    • buildDefaultConnectionProfile

      public static ConnectionProfile buildDefaultConnectionProfile(Settings settings)
      Builds a default connection profile based on the provided settings.
      settings - to build the connection profile from
      the connection profile
    • buildSingleChannelProfile

      public static ConnectionProfile buildSingleChannelProfile(TransportRequestOptions.Type channelType)
      Builds a connection profile that is dedicated to a single channel type. Use this when opening single use connections
    • buildSingleChannelProfile

      public static ConnectionProfile buildSingleChannelProfile(TransportRequestOptions.Type channelType, @Nullable TimeValue connectTimeout, @Nullable TimeValue handshakeTimeout, @Nullable TimeValue pingInterval, @Nullable Compression.Enabled compressionEnabled, @Nullable Compression.Scheme compressionScheme)
      Builds a connection profile that is dedicated to a single channel type. Allows passing connection and handshake timeouts and compression settings.
    • getConnectTimeout

      public TimeValue getConnectTimeout()
      Returns the connect timeout or null if no explicit timeout is set on this profile.
    • getHandshakeTimeout

      public TimeValue getHandshakeTimeout()
      Returns the handshake timeout or null if no explicit timeout is set on this profile.
    • getPingInterval

      public TimeValue getPingInterval()
      Returns the ping interval or null if no explicit ping interval is set on this profile.
    • getCompressionEnabled

      public Compression.Enabled getCompressionEnabled()
      Returns the compression enabled configuration or null if no explicit compression configuration is set on this profile.
    • getCompressionScheme

      public Compression.Scheme getCompressionScheme()
      Returns the configured compression scheme or null if no explicit compression scheme is set on this profile.
    • getNumConnections

      public int getNumConnections()
      Returns the total number of connections for this profile
    • getNumConnectionsPerType

      public int getNumConnectionsPerType(TransportRequestOptions.Type type)
      Returns the number of connections per type for this profile. This might return a count that is shared with other types such that the sum of all connections per type might be higher than getNumConnections(). For instance if TransportRequestOptions.Type.BULK shares connections with TransportRequestOptions.Type.REG they will return both the same number of connections from this method but the connections are not distinct.