All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.englishtown.vertx.cassandra.CassandraConfigurator Maven / Gradle / Ivy

There is a newer version: 3.6.1
Show newest version
package com.englishtown.vertx.cassandra;

import com.datastax.driver.core.*;
import com.datastax.driver.core.policies.LoadBalancingPolicy;
import com.datastax.driver.core.policies.ReconnectionPolicy;
import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;

import java.util.List;

/**
 * Provides cassandra configuration for the session
 */
public interface CassandraConfigurator {

    /**
     * List of cassandra seed hosts or IPs
     *
     * @return
     */
    List getSeeds();

    /**
     * Optional port to use to connect to cassandra.
     *
     * @return
     */
    Integer getPort();

    /**
     * Optional load balancing policy
     *
     * @return
     */
    LoadBalancingPolicy getLoadBalancingPolicy();

    /**
     * Optional reconnection policy
     *
     * @return
     */
    ReconnectionPolicy getReconnectionPolicy();

    /**
     * Optional pooling options
     *
     * @return
     */
    PoolingOptions getPoolingOptions();

    /**
     * Optional socket options
     *
     * @return
     */
    SocketOptions getSocketOptions();

    /**
     * Optional query options
     *
     * @return
     */
    QueryOptions getQueryOptions();

    /**
     * Optional metrics options
     *
     * @return
     */
    MetricsOptions getMetricsOptions();

    /**
     * Optional auth provider
     *
     * @return
     */
    AuthProvider getAuthProvider();

    /**
     * Register a callback for when the configurator is ready to use
     *
     * @param callback
     */
    void onReady(Handler> callback);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy