Search in sources :

Example 1 with ClientBackupAwareResponse

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);
}
Also used : Packet(com.hazelcast.internal.nio.Packet) ClientBackupAwareResponse(com.hazelcast.client.impl.ClientBackupAwareResponse) NormalResponse(com.hazelcast.spi.impl.operationservice.impl.responses.NormalResponse)

Example 2 with ClientBackupAwareResponse

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);
    }
}
Also used : ClientBackupAwareResponse(com.hazelcast.client.impl.ClientBackupAwareResponse) NormalResponse(com.hazelcast.spi.impl.operationservice.impl.responses.NormalResponse) ClientMessage(com.hazelcast.client.impl.protocol.ClientMessage) ClientEndpoint(com.hazelcast.client.impl.ClientEndpoint) HazelcastInstanceNotActiveException(com.hazelcast.core.HazelcastInstanceNotActiveException) RetryableHazelcastException(com.hazelcast.spi.exception.RetryableHazelcastException) MemberLeftException(com.hazelcast.core.MemberLeftException) AuthenticationException(com.hazelcast.client.AuthenticationException) AccessControlException(java.security.AccessControlException)

Aggregations

ClientBackupAwareResponse (com.hazelcast.client.impl.ClientBackupAwareResponse)2 NormalResponse (com.hazelcast.spi.impl.operationservice.impl.responses.NormalResponse)2 AuthenticationException (com.hazelcast.client.AuthenticationException)1 ClientEndpoint (com.hazelcast.client.impl.ClientEndpoint)1 ClientMessage (com.hazelcast.client.impl.protocol.ClientMessage)1 HazelcastInstanceNotActiveException (com.hazelcast.core.HazelcastInstanceNotActiveException)1 MemberLeftException (com.hazelcast.core.MemberLeftException)1 Packet (com.hazelcast.internal.nio.Packet)1 RetryableHazelcastException (com.hazelcast.spi.exception.RetryableHazelcastException)1 AccessControlException (java.security.AccessControlException)1