The classes and interfaces below define the eXtremeDB Cluster interface parameters.
public static class ClusterNodeParams { public String addr; public int qrank; public ClusterNodeParams(String addr, int qrank) { this.addr = addr; this.qrank = qrank; }; public ClusterNodeParams(String addr) { this(addr, 1); } }; public static class ClusterNodeInfo { public String addr; public int qrank; public int nodeId; public ClusterNodeInfo(String addr, int qrank, int nodeId) { this.addr = addr; this.qrank = qrank; this.nodeId = nodeId; } } public static class ClusterWindow { public int length; /* in transactions */ public int bsize; /* in bytes */ public int timeout; public ClusterWindow(int length, int bsize, int timeout) { this.length = length; this.bsize = bsize; this.timeout = timeout; }; public ClusterWindow(int length) { this(length, 0, 1); }; } public abstract static class ClusterNWParams { }; public static class ClusterTCPParams extends ClusterNWParams { public int socketSendBuf; public int socketRecvBuf; public int connectTimeout; public int connectInterval; public int socketDomain; public int keepAliveTime; public int keepAliveProbes; public int compressionLevel; public Database.SSLParameters sslParameters; public ClusterTCPParams() { socketSendBuf = 0; socketRecvBuf = 0; connectTimeout = 5 * 1000; connectInterval = 200; socketDomain = SOCK_INET_DOMAIN; keepAliveTime = 1000; keepAliveProbes = 10; compressionLevel = 0; sslParameters = null; } } public static class ClusterMPIParams extends ClusterNWParams { public int flags; public ClusterMPIParams() { flags = 0; } } public interface ClusterQuorumCallback { public boolean checkQuorum(int neighborIds[]); } public interface ClusterNotifying { public static final int NODE_CONNECT = 0; public static final int NODE_DISCONNECT = 1; public void onNotify(int code, ClusterNodeInfo nodeInfo); }
ClusterNodeParams and ClusterNodeInfo | |
addr
|
The IP address of this cluster node |
qrank
|
The Quorum rank of this cluster node |
nodeId
|
The integer identifier of this cluster node |
ClusterWindow | |
length
|
The number of in transactions in each window instance |
bsize
|
The window size in bytes |
timeout
|
The window timeout in milliseconds |
ClusterTCPParams | |
socketSendBuf
|
The send buffer size in bytes |
socketRecvBuf
|
The receive buffer size in bytes |
connectTimeout
|
The connection timeout period in milliseconds |
connectInterval
|
The interval between connection attempts in milliseconds |
socketDomain
|
|
keepAliveTime
|
The time window for the KEEP_ALIVE message |
keepAliveProbes
|
The number of keep-alive probes to send before the node disconnects |
sslParameters
|
The Cluster-specific SSL settings |
ClusterMPIParams | |
flags
|
Possible combination of CLUSTER_MPI_BUSYWAIT and/or CLUSTER_MPI_SERIALIZED_SEND |
Cluster Callbacks | |
ClusterQuorumCallback
|
The callback function to be called when a Cluster Quorum is not reached |
ClusterNotifying
|
The callback function to receive Cluster notifications |