capnproto-java-rpc/README.md

21 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2014-05-11 14:50:00 +00:00
# capnproto-java: Cap'n Proto for Java
[![Build Status](https://github.com/vaci/capnproto-java-rpc/workflows/CI/badge.svg?branch=master&event=push)](https://github.com/vaci/capnproto-java-rpc/actions?query=workflow%3ACI)
2014-05-24 21:52:41 +00:00
2014-06-14 15:38:15 +00:00
[Cap'n Proto](http://capnproto.org) is an extremely efficient protocol for sharing data
2018-02-03 19:47:41 +00:00
and capabilities, and capnproto-java is a pure Java implementation.
2014-05-17 02:37:25 +00:00
2017-07-01 02:00:29 +00:00
[Read more here.](https://dwrensha.github.io/capnproto-java/index.html)
2020-11-09 19:41:05 +00:00
This repository clone adds an implementation of the RPC framework for Java.
2021-08-19 09:36:46 +00:00
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
2022-11-27 17:50:02 +00:00
relies on kj::evalLater() to defer method calls and this implementation may have subtle differences.
2021-08-19 09:36:46 +00:00
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.