capnproto-java-rpc/runtime/src/main/java/org/capnproto/CallContext.java

47 lines
1.2 KiB
Java
Raw Normal View History

2020-09-29 11:24:49 +00:00
package org.capnproto;
import java.util.concurrent.CompletableFuture;
public class CallContext<Params, Results> {
final CallContextHook hook;
final FromPointerReader<Params> params;
final FromPointerBuilder<Results> results;
CallContext(FromPointerReader<Params> params,
FromPointerBuilder<Results> results,
CallContextHook hook) {
this.hook = hook;
this.params = params;
this.results = results;
}
public final Params getParams() {
return hook.getParams().getAs(params);
}
public final void releaseParams() {
this.hook.releaseParams();
}
public final Results getResults() {
return this.hook.getResults().getAs(results);
}
public final Results initResults() {
return this.hook.getResults().initAs(results);
}
public final <SubParams> CompletableFuture<java.lang.Void> tailCall(Request<SubParams, Results> tailRequest) {
return hook.tailCall(tailRequest.hook);
}
public final void allowCancellation() {
this.hook.allowCancellation();
}
public final CallContextHook getHook() {
return this.hook;
}
}