diff --git a/README.md b/README.md index e74d51a..2384c00 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,16 @@ and capabilities, and capnproto-java is a pure Java implementation. [Read more here.](https://dwrensha.github.io/capnproto-java/index.html) This repository clone adds an implementation of the RPC framework for Java. + +Promise pipelining is provided via java.util.concurrent.CompletableFuture. Unlike the KJ asynchronous model, which completes promises +only when they are waited upon, a CompletableFuture can complete immediately. This may break E-ordering, as the C++ implementation +relies on kj::evalLater() to defer method calls, and there is no obvious (to me, anyway) way to replicate the behaviour of +kj::evalLater() with CompletableFutures. + +Most of the C++ RPC test cases have been ported to this implementation, which gives me some comfort that the implementation logic is +correct, but more extensive testing is required. + +This implementation does not support generic interfaces. Extending the schema compiler to output code for generic interfaces is an +exercise I leave to the reader. + +