@Override public CallStatus call() { return new OffloadImpl(); }
@Override public void start() { if (partitions.length == 0) { // partitions may be empty if the node has joined and didn't get any partitions yet // a generic operation may already execute on it. sendResponse(EMPTY_RESPONSE); return; } PartitionAwareOperationFactory partitionAwareFactory = extractPartitionAware(operationFactory); if (partitionAwareFactory == null) { executeOperations(); } else { executeOperations(partitionAwareFactory); } }
private void executeOperations() { PartitionTaskFactory f = new PartitionTaskFactory() { private final NodeEngine nodeEngine = getNodeEngine(); private final OperationResponseHandler responseHandler = new OperationResponseHandlerImpl(partitions); private final Object service = getServiceName() == null ? null : getService(); @Override public Operation create(int partitionId) { Operation op = operationFactory.createOperation() .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setReplicaIndex(getReplicaIndex()) .setOperationResponseHandler(responseHandler) .setServiceName(getServiceName()) .setService(service) .setCallerUuid(extractCallerUuid()); OperationAccessor.setCallerAddress(op, getCallerAddress()); return op; } }; getOperationService().executeOnPartitions(f, toPartitionBitSet()); }
private void executeOperations(PartitionAwareOperationFactory givenFactory) { final NodeEngine nodeEngine = getNodeEngine(); final PartitionAwareOperationFactory factory = givenFactory.createFactoryOnRunner(nodeEngine, partitions); final OperationResponseHandler responseHandler = new OperationResponseHandlerImpl(partitions); final Object service = getServiceName() == null ? null : getService(); PartitionTaskFactory f = new PartitionTaskFactory() { @Override public Operation create(int partitionId) { Operation op = factory.createPartitionOperation(partitionId) .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setReplicaIndex(getReplicaIndex()) .setOperationResponseHandler(responseHandler) .setServiceName(getServiceName()) .setService(service) .setCallerUuid(extractCallerUuid()); OperationAccessor.setCallerAddress(op, getCallerAddress()); return op; } }; getOperationService().executeOnPartitions(f, toPartitionBitSet()); }
private void executeOperations() { PartitionTaskFactory f = new PartitionTaskFactory() { private final NodeEngine nodeEngine = getNodeEngine(); private final OperationResponseHandler responseHandler = new OperationResponseHandlerImpl(partitions); private final Object service = getServiceName() == null ? null : getService(); @Override public Operation create(int partitionId) { Operation op = operationFactory.createOperation() .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setReplicaIndex(getReplicaIndex()) .setOperationResponseHandler(responseHandler) .setServiceName(getServiceName()) .setService(service) .setCallerUuid(extractCallerUuid()); OperationAccessor.setCallerAddress(op, getCallerAddress()); return op; } }; getOperationService().executeOnPartitions(f, toPartitionBitSet()); }
private void executeOperations(PartitionAwareOperationFactory givenFactory) { final NodeEngine nodeEngine = getNodeEngine(); final PartitionAwareOperationFactory factory = givenFactory.createFactoryOnRunner(nodeEngine, partitions); final OperationResponseHandler responseHandler = new OperationResponseHandlerImpl(partitions); final Object service = getServiceName() == null ? null : getService(); PartitionTaskFactory f = new PartitionTaskFactory() { @Override public Operation create(int partitionId) { Operation op = factory.createPartitionOperation(partitionId) .setNodeEngine(nodeEngine) .setPartitionId(partitionId) .setReplicaIndex(getReplicaIndex()) .setOperationResponseHandler(responseHandler) .setServiceName(getServiceName()) .setService(service) .setCallerUuid(extractCallerUuid()); OperationAccessor.setCallerAddress(op, getCallerAddress()); return op; } }; getOperationService().executeOnPartitions(f, toPartitionBitSet()); }
@Override public void start() { if (partitions.length == 0) { // partitions may be empty if the node has joined and didn't get any partitions yet // a generic operation may already execute on it. sendResponse(EMPTY_RESPONSE); return; } PartitionAwareOperationFactory partitionAwareFactory = extractPartitionAware(operationFactory); if (partitionAwareFactory == null) { executeOperations(); } else { executeOperations(partitionAwareFactory); } }
@Override public CallStatus call() { return new OffloadImpl(); }