remoc
rmp-rpc
remoc | rmp-rpc | |
---|---|---|
6 | 1 | |
148 | 45 | |
3.4% | - | |
7.9 | 0.0 | |
about 1 month ago | about 3 years ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
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.
remoc
-
Inter-process Communication between two programs on Linux.
u/OP if you want to use unix/tcp socket directly check out https://crates.io/crates/remoc it works over both and is a WAY better idea then http...
-
the best way to pass parameters to egui
You can use an RPC framework to not invent the wheel from scratch like for example https://crates.io/crates/remoc Why? Because such program as an https proxy will likely often run as a daemon started via an init system for example systemd. As you can not start a GUI program as a daemon under unix the GUI wouldn't work anyway. It might even run on a headless server with any GUI and you might want to start you GUI remotely and connect to it.
-
What are some less popular but well-made crates you'd like others to know about?
remoc - a really good rpc framework with agnostic transport and encoding and support for observable/streamable objects.
-
Tsyncp: Channel-like primitives (mpsc, broadcast, etc) over TCP
We had the same challenge and developed Remoc for that. There also is Tarpc, however it does not support channels, only RPC.
-
Pubsub-like library for microservices?
Remoc might do what you want, basically channels generic for anything that implements AsyncRead and AsyncWrite. https://github.com/ENQT-GmbH/remoc/
rmp-rpc
-
Any suggestion to build a long-lived connection with dual-rpc capability
RMP-RPC (https://github.com/little-dude/rmp-rpc) is based on message pack, it will reduce bandwidth cost but might be hard to trace compared to JSON-RPC which is purely text.
What are some alternatives?
nvim-send - Essentially "nvim --remote-expr <expr>" / "nvim --remote-send <keys>" or "nvr --nostart --remote-send <keys>" in Rust
ormsgpack - Msgpack serialization/deserialization library for Python, written in Rust using PyO3 and rust-msgpack. Reboot of orjson. msgpack.org[Python]
Coerce-rs - Actor runtime and distributed systems framework for Rust
tonic - A native gRPC client & server implementation with async/await support.
postage-rs - The feature-rich, portable async channel library
srpc - Simple RPC system based on top of Canary
lifeline-rs - A dependency injection library for message-based applications
tarpc - An RPC framework for Rust with a focus on ease of use.
micromath - Embedded Rust arithmetic, 2D/3D vector, and statistics library
rust-multiplayer-physics - A multiplayer physics playground, written in rust.
versio - A version number manager
capnproto-rust - Cap'n Proto for Rust