@Override public void invoke(TransactionContext transactionContext) { promise.completeWith(getDirectCommitFuture(transactionContext, operationCallbackRef)); } });
@Override public void onComplete(final Throwable failure, final Iterable<Object> notUsed) { LOG.debug("Tx: {} - prior read-only Tx futures complete", txId); // Complete the returned Promise with the original Future. returnPromise.completeWith(future); } };
@Override public void invoke(TransactionContext transactionContext) { promise.completeWith(transactionContext.readyTransaction()); } });
@Override public void onComplete(final Throwable failure, final Object notUsed) { if (failure != null) { // A Ready Future failed so fail the returned Promise. LOG.error("Tx: {} - ready future failed for previous Tx {}", txId, previousTransactionId); returnPromise.failure(failure); } else { LOG.debug("Tx: {} - previous Tx {} readied - proceeding to FindPrimaryShard", txId, previousTransactionId); // Send the FindPrimaryShard message and use the resulting Future to complete the // returned Promise. returnPromise.completeWith(parent.findPrimaryShard(shardName, txId)); } } };
pending.serializedKeyAndNamespace); pending.promise.completeWith(resultFuture);
private void registerProvidedSourcesToSchemaRegistry() { Future<Set<SourceIdentifier>> sourcesFuture = remoteYangTextSourceProvider.getProvidedSources(); resolvedSourcesPromise.completeWith(sourcesFuture); final RemoteSchemaProvider remoteProvider = new RemoteSchemaProvider(remoteYangTextSourceProvider, actorSystem.dispatcher()); sourcesFuture.onComplete(new OnComplete<Set<SourceIdentifier>>() { @Override public void onComplete(Throwable throwable, Set<SourceIdentifier> sourceIdentifiers) throws Throwable { for (SourceIdentifier sourceId : sourceIdentifiers) { sourceRegistrations.add(schemaRegistry.registerSchemaSource(remoteProvider, PotentialSchemaSource.create(sourceId, YangTextSchemaSource.class, PotentialSchemaSource.Costs.REMOTE_IO.getValue()))); } } }, actorSystem.dispatcher()); }