remoc
tonic
remoc | tonic | |
---|---|---|
6 | 48 | |
148 | 9,013 | |
3.4% | 2.0% | |
7.9 | 8.6 | |
about 1 month ago | 4 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | 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.
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/
tonic
-
Roll your own auth with Rust and Protobuf
Use tonic-build directly from Rust.
-
How to limit different concurrency number by service on Tonic?
} // Omit the remaining code and refer to the example in Tonic: https://github.com/hyperium/tonic/blob/master/examples/src/multiplex/server.rs ```
-
Ideas/Suggestions around setting up a data pipeline from scratch
If Iām not misunderstanding, you could both decode the gRPC protobuf AND write to delta lake in Rust. Tonic, Delta-rs.
-
Throughput doesn't increase with cores/threads count
Original post: https://github.com/hyperium/tonic/issues/1405. Cross-post here in case the problem is not specific to tonic.
-
Getting started with gRPC in Rust
Tonic
-
libp2p alternate
Just to double check Is this the correct repo?
-
Spaceman: A gRPC client from another world. Comes both as a CLI and as a GUI built with Tauri and Yew.rs
Wasm isn't involved much actually. Basically, the frontend asks the backend to perform a gRPC call on its behalf using Tauri events. They are like named channels on which you can send any serde-compatible value. But the backend is a normal Rust program so there are no constraints there. I use prost-reflect to encode/decode Protobuf messages according to Protobuf descriptors loaded at runtime and make the actual requests using tonic from the tokio ecosystem. prost-reflect is necessary because, normally, tonic expects the Protobuf descriptor to be known at compile time so it can make some code generation behind the scenes.
-
Is there something like Feathersjs for Rust?
You could have a look at gRPC i.e. https://github.com/hyperium/tonic
-
Tower - middleware or interceptor
Looking at this example code: https://github.com/hyperium/tonic/blob/master/examples/src/tower/server.rs
-
Keyword Generics Progress Report: February 2023 | Inside Rust Blog
The remaining gap is remote actors, since you still need some kind of serialization between them, and take your pick of standards for that one such as gRPC using Tonic.
What are some alternatives?
nvim-send - Essentially "nvim --remote-expr <expr>" / "nvim --remote-send <keys>" or "nvr --nostart --remote-send <keys>" in Rust
actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Coerce-rs - Actor runtime and distributed systems framework for Rust
grpc-rust - Rust implementation of gRPC
rmp-rpc - a msgpack-rpc rust library based on tokio
tarpc - An RPC framework for Rust with a focus on ease of use.
postage-rs - The feature-rich, portable async channel library
axum - Ergonomic and modular web framework built with Tokio, Tower, and Hyper
lifeline-rs - A dependency injection library for message-based applications
prost - PROST! a Protocol Buffers implementation for the Rust Language
micromath - Embedded Rust arithmetic, 2D/3D vector, and statistics library
rust-prometheus - Prometheus instrumentation library for Rust applications