Class ProtocolOptions


  • public class ProtocolOptions
    extends Object
    Options of the Cassandra native binary protocol.
    • Constructor Detail

      • ProtocolOptions

        public ProtocolOptions()
        Creates a new ProtocolOptions instance using the DEFAULT_PORT (and without SSL).
      • ProtocolOptions

        public ProtocolOptions​(int port)
        Creates a new ProtocolOptions instance using the provided port (without SSL nor authentication).

        This is a shortcut for new ProtocolOptions(port, null, AuthProvider.NONE).

        Parameters:
        port - the port to use for the binary protocol.
      • ProtocolOptions

        public ProtocolOptions​(int port,
                               ProtocolVersion protocolVersion,
                               int maxSchemaAgreementWaitSeconds,
                               SSLOptions sslOptions,
                               AuthProvider authProvider)
        Creates a new ProtocolOptions instance using the provided port and SSL context.
        Parameters:
        port - the port to use for the binary protocol.
        protocolVersion - the protocol version to use. This can be null, in which case the version used will be the biggest version supported by the first node the driver connects to. See Cluster.Builder.withProtocolVersion(com.datastax.driver.core.ProtocolVersion) for more details.
        sslOptions - the SSL options to use. Use null if SSL is not to be used.
        authProvider - the AuthProvider to use for authentication against the Cassandra nodes.
      • ProtocolOptions

        public ProtocolOptions​(int port,
                               ProtocolVersion protocolVersion,
                               int maxSchemaAgreementWaitSeconds,
                               SSLOptions sslOptions,
                               AuthProvider authProvider,
                               boolean noCompact)
        Creates a new ProtocolOptions instance using the provided port and SSL context.
        Parameters:
        port - the port to use for the binary protocol.
        protocolVersion - the protocol version to use. This can be null, in which case the version used will be the biggest version supported by the first node the driver connects to. See Cluster.Builder.withProtocolVersion(com.datastax.driver.core.ProtocolVersion) for more details.
        sslOptions - the SSL options to use. Use null if SSL is not to be used.
        authProvider - the AuthProvider to use for authentication against the Cassandra nodes.
        noCompact - whether or not to include the NO_COMPACT startup option.
      • ProtocolOptions

        public ProtocolOptions​(int port,
                               ProtocolVersion protocolVersion,
                               int maxSchemaAgreementWaitSeconds,
                               SSLOptions sslOptions,
                               AuthProvider authProvider,
                               boolean noCompact,
                               boolean useAdvancedShardAwarness,
                               int portLow,
                               int portHigh)
        Creates a new ProtocolOptions instance using the provided port and SSL context.
        Parameters:
        port - the port to use for the binary protocol.
        protocolVersion - the protocol version to use. This can be null, in which case the version used will be the biggest version supported by the first node the driver connects to. See Cluster.Builder.withProtocolVersion(com.datastax.driver.core.ProtocolVersion) for more details.
        sslOptions - the SSL options to use. Use null if SSL is not to be used.
        authProvider - the AuthProvider to use for authentication against the Cassandra nodes.
        noCompact - whether or not to include the NO_COMPACT startup option.
        useAdvancedShardAwarness - should the advanced shard awarness (choosing shard to connect to by client-side port) be used.
        portLow - lower bound (inclusive) of ports to use for advanced shard awareness.
        portHigh - upper bound (inclusive) of ports to use for advanced shard awareness.
    • Method Detail

      • getPort

        public int getPort()
        Returns the port used to connect to the Cassandra hosts.
        Returns:
        the port used to connect to the Cassandra hosts.
      • getProtocolVersion

        public ProtocolVersion getProtocolVersion()
        The protocol version used by the Cluster instance.
        Returns:
        the protocol version in use. This might return null if a particular version hasn't been forced by the user (using say {Cluster.Builder#withProtocolVersion}) and this Cluster instance has not yet connected to any node (but as soon as the Cluster instance is connected, this is guaranteed to return a non-null value). Note that nodes that do not support this protocol version will be ignored.
      • getCompression

        public ProtocolOptions.Compression getCompression()
        Returns the compression used by the protocol.

        By default, compression is not used.

        Returns:
        the compression used.
      • setCompression

        public ProtocolOptions setCompression​(ProtocolOptions.Compression compression)
        Sets the compression to use.

        Note that while this setting can be changed at any time, it will only apply to newly created connections.

        Parameters:
        compression - the compression algorithm to use (or Compression.NONE to disable compression).
        Returns:
        this ProtocolOptions object.
        Throws:
        IllegalStateException - if the compression requested is not available. Most compression algorithms require that the relevant be present in the classpath. If not, the compression will be unavailable.
      • getMaxSchemaAgreementWaitSeconds

        public int getMaxSchemaAgreementWaitSeconds()
        Returns the maximum time to wait for schema agreement before returning from a DDL query.
        Returns:
        the time.
      • getSSLOptions

        public SSLOptions getSSLOptions()
        The SSLOptions used by this cluster.
        Returns:
        the SSLOptions used by this cluster (set at the cluster creation time) or null if SSL is not in use.
      • getAuthProvider

        public AuthProvider getAuthProvider()
        The AuthProvider used by this cluster.
        Returns:
        the AuthProvided used by this cluster (set at the cluster creation time). If no authentication mechanism is in use (the default), AuthProvided.NONE will be returned.
      • isNoCompact

        public boolean isNoCompact()
        Returns:
        Whether or not to include the NO_COMPACT startup option.
      • isUseAdvancedShardAwareness

        public boolean isUseAdvancedShardAwareness()
        Returns:
        Wheter advanced or non-advanced shard awareness is used.
      • getLowLocalPort

        public int getLowLocalPort()
      • getHighLocalPort

        public int getHighLocalPort()