Cluster_Params

The eXtremeDB Cluster feature (included with eXtremeDB High Availability) is configured by specifying the parameters described below.

For an overview see page Cluster Applications in C

Cluster Parameters

The following structure is initialized and passed to function mco_cluster_db_open():

   
 
    typedef struct mco_cluster_params_t_
     {
        uint4 rtrans_commit; /* nbr of successful remote transactions */
        mco_cluster_node_params_t       *nodes;
        uint2                            n_nodes;
        uint2                            node_id;
        uint2                            conn_pool_factor;
        uint4                            sync_msg_objects; /* max number of objects per message during synchronization */
        uint4                            sync_msg_size;    /* max size of message in bytes during synchronization */
        mco_cluster_transsize_f          transsize_callback;
        mco_cluster_check_quorum_f       check_quorum_func;
        void                            *check_quorum_param;
        mco_cluster_window_t             window;
        mco_cluster_notifying            notifying_callback;
        void                            *notifying_context;
        mco_cluster_connection_context_f connect_ctx_callback;
        void                            *connect_ctx_param;
        uint4                            cl_sndbuf;
        uint4                            cl_rcvbuf;
        uint4                            mode_mask;
        void*                            stream_handle;
        mco_stream_read                  input_stream_reader;
        union   {
            mco_clnw_tcp_params_t tcp;
            mco_clnw_mpi_params_t mpi;
        } nw;
     
     } mco_cluster_info_t, * mco_cluster_info_h;
 

Transaction Window

The cluster transaction window is defined by the following structure:

 
    typedef struct mco_cluster_window_t_
    {
        uint4                      bsize;  /* in bytes */
        uint4                      length; /* in transactions */
        timer_unit                 timeout;
     
    } mco_cluster_window_t;
     

Channel Parameters

The network element nw allows the application to specify TCP or MPI channel as the network protocol. The following structures are used to specify channel-specific network settings.

TCP

 
    typedef struct mco_clnw_tcp_params_t_
    {
        uint4                      so_sndbuf;
        uint4                      so_rcvbuf;
        timer_unit                 connect_timeout;
        timer_unit                 connect_interval;
        timer_unit                 keepalive_time;
        uint4                      keepalive_probes;
        MCO_SOCK_DOMAIN            socket_domain;
        int                        compression_level;
        void                      *ssl_params;
     
    } mco_clnw_tcp_params_t;
 

MPI

 
    typedef struct mco_clnw_mpi_params_t_
    {
        uint4                      flags;
        void                      *communicator;
     
    } mco_clnw_mpi_params_t;