AsyncDistributedSqlEngine: OpenParameters

This article is deprecated.

The AsyncDistributedSqlEngine method open() allows arguments to be specified in the following OpenParameters structure:

 
    struct OpenParameters 
    {
        struct NodeParams 
        {
            const char *address;
            void       *sslParameters;
            NodeParams() : address(0), sslParameters(0) {}
        };
        NodeParams     *nodes;
        int             nNodes;
        bool            localDomain;
        int             nReplicas;
        DistributedSqlEngine::ReplicationType replType;
        int             maxConnectAttempts;
        timer_unit      connectTimeout;
        timer_unit      readTimeout;
        size_t          nWorkers;
        OpenParameters(int nNodes) : nodes(new NodeParams[nNodes]), nNodes(nNodes), 
                localDomain(false), 
                nReplicas(1), replType(DistributedSqlEngine::SQL_REPLICATION), 
                maxConnectAttempts(10), connectTimeout(2*1000), 
                readTimeout(1200*1000), nWorkers(2) {}
        ~OpenParameters() { delete [] nodes; }
    };
 

Parameter Descriptions

nodes An array with the node names and ports ("NAME:PORT")
nNodes The number of nodes
localDomain Indicates that Unix Domain Socket instead of networked TCP socket is used for RSQL communication which is possible only when server and client are on the same host
nReplicas The number of replicas; this number should be a divider of nNodes meaning that the remainder of nNodes / nReplicas is 0. For example, the values of nNodes and nReplicas could be (4 and 2) or (12 and 3) but not (6 and 4) because 6 % 4 = 2
replType The replication method
maxConnectAttempts The maximum number of attempts to connect to the server
connectTimeout The timeout for each connect attempt in milliseconds; so the total connection time can be up to connectTimeout * maxConnectionAttempts milliseconds
readTimeout The timeout for read operations in milliseconds
nWorkers The number of worker processes