README.md (1070B)
1 # What if Matrix was written using Cap'n'proto and a RPC federation API? 2 3 This question is what I am trying to proof by actually implementing this into synapse. 4 5 For simplicity this repo includes some go demo code for some of the details but 6 it also provides a suggested structure of folders for the proto files. 7 8 ## Will there be an MSC? 9 10 Maybe but my hopes are either way very low that this will get mainline. 11 12 ## Will there be a synapse PR? 13 14 Yes this is a major goal of this. It will also support fallback by design to the HTTP API 15 if the rpc API is not available. 16 17 ## Will this work with $Loadbalancer? 18 19 It depends. Its doing RPC over unix or tcp sockets. So if your loadbalancer can handle that 20 it should work. 21 22 ## Will this be faster? 23 24 Maybe. This is to be tested. However there exists some evidence that it might be faster than json 25 by at least up to 20x <https://blog.cloudflare.com/introducing-lua-capnproto-better-serialization-in-lua#performance> 26 27 ## What will be signed? 28 29 The message that holds the signature map will be signed in its canonical binary form.