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 |