capnproto-rust
canary
capnproto-rust | canary | |
---|---|---|
6 | 3 | |
1,952 | 33 | |
1.6% | - | |
9.1 | 0.0 | |
about 1 month ago | almost 2 years 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.
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>?
canary
-
Introducing June, a crate for exposing actix actors through the network (remote actors)
June is a library based upon the canary crate that allows for creating remote actors with actix.
-
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?
Thanks for the heads-up! I'm renaming the project to Canary
What are some alternatives?
tarpc - An RPC framework for Rust with a focus on ease of use.
zenoh - zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
UnrealEngine
datafusion - Apache DataFusion SQL Query Engine
rkyv - Zero-copy deserialization framework for Rust
june
bincode - A binary encoder / decoder implementation in Rust.
maquio
x25519-dalek - X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
constellation - Distributed programming for Rust.
Rocket - A web framework for Rust.
canary-examples