Skip to content

vaci/capnproto-java-rpc

This branch is 256 commits ahead of, 37 commits behind capnproto/capnproto-java:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1a36fd8 · Nov 27, 2022
Aug 8, 2022
Dec 3, 2020
Nov 10, 2021
Mar 4, 2020
Mar 21, 2022
Nov 10, 2021
Aug 31, 2022
Aug 31, 2022
Oct 11, 2021
Jul 15, 2020
May 16, 2014
Mar 19, 2021
Oct 11, 2021
May 16, 2014
Jan 29, 2015
Dec 20, 2021
Nov 27, 2022
May 13, 2020
May 13, 2020
Nov 26, 2020
Nov 7, 2020
Aug 8, 2022
Nov 10, 2021

Repository files navigation

capnproto-java: Cap'n Proto for Java

Build Status

Cap'n Proto is an extremely efficient protocol for sharing data and capabilities, and capnproto-java is a pure Java implementation.

Read more here.

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 this implementation may have subtle differences.

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.

About

Cap'n Proto RPC in pure Java

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 71.2%
  • Cap'n Proto 15.6%
  • C++ 11.2%
  • CSS 1.2%
  • Shell 0.4%
  • HTML 0.2%
  • Other 0.2%