capnproto-rust
canary-examples | capnproto-rust | |
---|---|---|
1 | 6 | |
0 | 1,961 | |
- | 2.0% | |
0.0 | 9.1 | |
over 2 years ago | 6 days ago | |
Rust | Rust | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
canary-examples
-
Any suggestion to build a long-lived connection with dual-rpc capability
For bidirectional RPC you should take a look at The distributed fibonacci example. You should note that the bidirectional RPC used in the distributed Fibonacci example assumes that both machines are not behind a NAT, if you need bidirectional RPC with only one discoverable machine, you can still use SRPC (but you’ll need to interact with Canary a bit more)
capnproto-rust
- Best format for high-performance Serde?
-
Cap'n Proto - RPC at the speed of Rust - Part 1
The only hurdle I have is that while the documentation is extensive it is a little confusing in places and mainly focuses on C++ and the C++ RPC system which is a little different to the Rust code. There are Rust examples in the official repo which I will try and leverage here.
-
Hey Rustaceans! Got an easy question? Ask here (9/2022)!
capnproto-rust is the official Rust implementation.
- Any suggestion to build a long-lived connection with dual-rpc capability
-
Pijul 1.0 Beta
Hi, you seem to know a bit about Sanakirja!
It stores 4kb blobs, right? Does Pijul first parses the data (copying it to other allocations), or uses the data as is? I mean, there are some libraries like cap'n'proto[0] and rkyv[1] that can directly use the file contents as an in-memory data structure, I was wondering if Pijul did anything like that.
I mean, is this btree page [2] stored exactly like this on disk, and does Pijul exploits that to avoid further copying data?
(I guess there's a trouble with compression there: to decompress you really need to write in another buffer)
Also, is the I/O done with something that prevent userspace copies like mmap or io_uring, or does it eventually calls read() to copy the data to its own buffer?
I want to build something like Sanakirja, but with those features, so I'm wondering if there's any overlap.
[0] https://github.com/capnproto/capnproto-rust
[1] https://github.com/rkyv/rkyv
[2] https://docs.rs/sanakirja-core/latest/sanakirja_core/btree/p...
- Is there a library like Serde but which makes it easy to mutate serialized data stored in a [u8] or Vec<u8>?
What are some alternatives?
canary - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility.
tarpc - An RPC framework for Rust with a focus on ease of use.
rmp-rpc - a msgpack-rpc rust library based on tokio
UnrealEngine
rkyv - Zero-copy deserialization framework for Rust
bincode - A binary encoder / decoder implementation in Rust.
x25519-dalek - X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
Rocket - A web framework for Rust.
lalrpop - LR(1) parser generator for Rust
UnrealEngine - UnrealEngine 1998