make embargo.diembargo final

This commit is contained in:
Vaci Koblizek 2020-10-23 14:57:08 +01:00
parent 9268494421
commit cd1fc4c460

View file

@ -221,7 +221,7 @@ final class RpcState {
final static class Embargo { final static class Embargo {
final int id; final int id;
CompletableFuture<?> disembargo; final CompletableFuture<java.lang.Void> disembargo = new CompletableFuture<>();
Embargo(int id) { Embargo(int id) {
this.id = id; this.id = id;
@ -802,7 +802,7 @@ final class RpcState {
final var embargoId = ctx.getSenderLoopback(); final var embargoId = ctx.getSenderLoopback();
final var rpcTarget = (RpcClient) target; final var rpcTarget = (RpcClient) target;
Callable<?> sendDisembargo = () -> { Callable<java.lang.Void> sendDisembargo = () -> {
if (isDisconnected()) { if (isDisconnected()) {
return null; return null;
} }
@ -826,11 +826,11 @@ final class RpcState {
message.send(); message.send();
return null; return null;
}; };
evalLast(sendDisembargo); this.evalLast(sendDisembargo);
break; break;
case RECEIVER_LOOPBACK: case RECEIVER_LOOPBACK:
var embargo = embargos.find(ctx.getReceiverLoopback()); var embargo = this.embargos.find(ctx.getReceiverLoopback());
if (embargo == null) { if (embargo == null) {
assert false: "Invalid embargo ID in 'Disembargo.context.receiverLoopback'."; assert false: "Invalid embargo ID in 'Disembargo.context.receiverLoopback'.";
return; return;
@ -875,7 +875,8 @@ final class RpcState {
var resolved = inner.getResolved(); var resolved = inner.getResolved();
if (resolved != null) { if (resolved != null) {
inner = resolved; inner = resolved;
} else { }
else {
break; break;
} }
} }
@ -891,7 +892,7 @@ final class RpcState {
var exportId = exportsByCap.get(inner); var exportId = exportsByCap.get(inner);
if (exportId != null) { if (exportId != null) {
// We've already seen and exported this capability before. // We've already seen and exported this capability.
var export = exports.find(exportId); var export = exports.find(exportId);
export.refcount++; export.refcount++;
descriptor.setSenderHosted(exportId); descriptor.setSenderHosted(exportId);
@ -1816,7 +1817,6 @@ final class RpcState {
assert redirect == null; assert redirect == null;
var embargo = embargos.next(); var embargo = embargos.next();
embargo.disembargo = new CompletableFuture<>();
disembargo.getContext().setSenderLoopback(embargo.id); disembargo.getContext().setSenderLoopback(embargo.id);
final ClientHook finalReplacement = replacement; final ClientHook finalReplacement = replacement;