private volatile ClientConnection connection;
private List<ExecutionCallbackNode> callbackNodeList = new LinkedList<ExecutionCallbackNode>();
public ClientCallFuture(HazelcastClientInstanceImpl client, ClientRequest request, EventHandler handler) {
final ClientProperties clientProperties = client.getClientProperties();
int interval = clientProperties.getHeartbeatInterval().getInteger();
this.heartBeatInterval = interval > 0 ? interval : Integer.parseInt(PROP_HEARTBEAT_INTERVAL_DEFAULT);
int retry = clientProperties.getRetryCount().getInteger();
this.retryCount = retry > 0 ? retry : Integer.parseInt(PROP_REQUEST_RETRY_COUNT_DEFAULT);
int waitTime = clientProperties.getRetryWaitTime().getInteger();
this.retryWaitTime = waitTime > 0 ? waitTime : Integer.parseInt(PROP_REQUEST_RETRY_WAIT_TIME_DEFAULT);
this.invocationService = (ClientInvocationServiceImpl) client.getInvocationService();
this.executionService = (ClientExecutionServiceImpl) client.getClientExecutionService();
this.clientListenerService = (ClientListenerServiceImpl) client.getListenerService();