srpc
capnproto-rust
srpc | capnproto-rust | |
---|---|---|
2 | 6 | |
4 | 1,952 | |
- | 1.6% | |
2.6 | 9.1 | |
over 2 years ago | about 1 month 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.
srpc
-
Any suggestion to build a long-lived connection with dual-rpc capability
You could check out SRPC or Canary, although a new version will be released shortly which has tons of breaking changes (you can use the new version via canary = { git = “https://github.com/znx3p0/canary” })
-
Distributed systems you'd like to see in Rust?
It's already on crates.io and has a book to get started, a simple but powerful RPC system and it supports multiple backends for communication (TCP, UNIX, more to come) and automatic encryption.
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?
rmp-rpc - a msgpack-rpc rust library based on tokio
tarpc - An RPC framework for Rust with a focus on ease of use.
volo - Rust RPC framework with high-performance and strong-extensibility for building micro-services.
UnrealEngine
turbocharger - Autogenerated async RPC bindings that instantly connect a JS or Rust/WASM frontend to a Rust backend via a WebSocket connection.
rkyv - Zero-copy deserialization framework for Rust
sia - Distributed systems library for making communications through the network easier, while keeping minimalism and flexibility. [Moved to: https://github.com/znx3p0/canary]
bincode - A binary encoder / decoder implementation in Rust.
boxcar - Boxcar RPC
x25519-dalek - X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
fluvio - Lean and mean distributed stream processing system written in rust and web assembly.
Rocket - A web framework for Rust.