@Override @SuppressWarnings("unchecked") public <E> InternalCompletableFuture<E> invokeOnPartition(Operation op) { return new PartitionInvocation( invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invoke(); }
@Override ExceptionAction onException(Throwable t) { if (shouldFailOnIndeterminateOperationState() && (t instanceof MemberLeftException)) { return THROW_EXCEPTION; } ExceptionAction action = op.onInvocationException(t); return action != null ? action : THROW_EXCEPTION; } }
@Override @SuppressWarnings("unchecked") public <V> void asyncInvokeOnPartition(String serviceName, Operation op, int partitionId, ExecutionCallback<V> callback) { op.setServiceName(serviceName).setPartitionId(partitionId).setReplicaIndex(DEFAULT_REPLICA_INDEX); InvocationFuture future = new PartitionInvocation(invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invokeAsync(); if (callback != null) { future.andThen(callback); } }
@Override public InternalCompletableFuture invoke() { op.setServiceName(serviceName); Invocation invocation; if (target == null) { op.setPartitionId(partitionId).setReplicaIndex(replicaIndex); invocation = new PartitionInvocation( context, op, doneCallback, tryCount, tryPauseMillis, callTimeout, resultDeserialized, failOnIndeterminateOperationState); } else { invocation = new TargetInvocation( context, op, target, doneCallback, tryCount, tryPauseMillis, callTimeout, resultDeserialized); } InternalCompletableFuture future = invocation.invoke(); if (executionCallback != null) { future.andThen(executionCallback); } return future; } }
@Override @SuppressWarnings("unchecked") public <V> void asyncInvokeOnPartition(String serviceName, Operation op, int partitionId, ExecutionCallback<V> callback) { op.setServiceName(serviceName).setPartitionId(partitionId).setReplicaIndex(DEFAULT_REPLICA_INDEX); InvocationFuture future = new PartitionInvocation(invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invokeAsync(); if (callback != null) { future.andThen(callback); } }
@Override public InternalCompletableFuture invoke() { op.setServiceName(serviceName); Invocation invocation; if (target == null) { op.setPartitionId(partitionId).setReplicaIndex(replicaIndex); invocation = new PartitionInvocation( context, op, doneCallback, tryCount, tryPauseMillis, callTimeout, resultDeserialized, failOnIndeterminateOperationState); } else { invocation = new TargetInvocation( context, op, target, doneCallback, tryCount, tryPauseMillis, callTimeout, resultDeserialized); } InternalCompletableFuture future = invocation.invoke(); if (executionCallback != null) { future.andThen(executionCallback); } return future; } }
@Override @SuppressWarnings("unchecked") public <E> InternalCompletableFuture<E> invokeOnPartition(Operation op) { return new PartitionInvocation( invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invoke(); }
@Override ExceptionAction onException(Throwable t) { if (shouldFailOnIndeterminateOperationState() && (t instanceof MemberLeftException)) { return THROW_EXCEPTION; } ExceptionAction action = op.onInvocationException(t); return action != null ? action : THROW_EXCEPTION; } }
@Override @SuppressWarnings("unchecked") public <E> InternalCompletableFuture<E> invokeOnPartition(String serviceName, Operation op, int partitionId) { op.setServiceName(serviceName) .setPartitionId(partitionId) .setReplicaIndex(DEFAULT_REPLICA_INDEX); return new PartitionInvocation( invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invoke(); }
@Override @SuppressWarnings("unchecked") public <E> InternalCompletableFuture<E> invokeOnPartition(String serviceName, Operation op, int partitionId) { op.setServiceName(serviceName) .setPartitionId(partitionId) .setReplicaIndex(DEFAULT_REPLICA_INDEX); return new PartitionInvocation( invocationContext, op, invocationMaxRetryCount, invocationRetryPauseMillis, DEFAULT_CALL_TIMEOUT, DEFAULT_DESERIALIZE_RESULT, failOnIndeterminateOperationState).invoke(); }