use of com.hazelcast.client.impl.ClientBackupAwareResponse in project hazelcast by hazelcast.
the class Invocation method notifyNormalResponse.
void notifyNormalResponse(Object value, int expectedBackups) {
// we will complete the response immediately and delegate backup count to caller
if (op.getClientCallId() != -1) {
this.backupsAcksExpected = 0;
if (value instanceof Packet) {
NormalResponse response = context.serializationService.toObject(value);
value = response.getValue();
}
complete(new ClientBackupAwareResponse(expectedBackups, value));
return;
}
notifyResponse(value, expectedBackups);
}
use of com.hazelcast.client.impl.ClientBackupAwareResponse in project hazelcast by hazelcast.
the class AbstractMessageTask method sendResponse.
protected void sendResponse(Object response) {
try {
int numberOfBackups = 0;
if (response instanceof ClientBackupAwareResponse) {
ClientBackupAwareResponse backupAwareResponse = (ClientBackupAwareResponse) response;
response = backupAwareResponse.getResponse();
numberOfBackups = backupAwareResponse.getNumberOfBackups();
} else if (response instanceof NormalResponse) {
response = ((NormalResponse) response).getValue();
}
ClientMessage clientMessage;
if (response instanceof Throwable) {
clientMessage = encodeException((Throwable) response);
} else {
clientMessage = encodeResponse(response);
}
assert numberOfBackups >= 0 && numberOfBackups < Byte.MAX_VALUE;
clientMessage.setNumberOfBackupAcks((byte) numberOfBackups);
sendClientMessage(clientMessage);
} catch (Exception e) {
handleProcessingFailure(e);
}
}
Aggregations