Like gRPC except significantly worse
Go to file
NGnius (Graham) 554cb937a9 Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
.github Update project info 2023-07-01 23:56:37 -04:00
nrpc Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
nrpc-build Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
nrpc-codegen-test Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
.gitignore Create MVP of nRPC codegen 2023-04-10 14:34:03 -04:00
Cargo.lock Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
Cargo.toml Make async_trait dependency optional 2024-04-02 20:39:11 -04:00
LICENSE Create LICENSE 2023-04-10 18:42:47 +00:00
README.md Update project info 2023-07-01 23:56:37 -04:00

README.md

nRPC nRPC-build

nRPC

NG's custom spin of gRPC. Intended to be decoupled from the network layer for use with websockets.

About

nRPC provides the glue logic from protobuf declarations to client and server Rust code. The server-side logic and client-server networking is not implemented. This makes it almost, but not quite, a gRPC implementation in Rust. To really drive that idea home, nRPC stands for nRPC Remote Procedure Call -- almost like what gRPC stands for.

Since the network layer is not provided, this will never be fully compliant with gRPC specifications. On the other hand, gRPC can't be used in browsers but nRPC could be used to write something that does. Since nRPC is just a hobby project, think of it like a cheap knock-off -- compliance with gRPC is best-effort where possible.

Why?

I wanted a well-known RPC library that could work with a client in a browser. The most popular RPC library seemed to be gRPC, except that didn't support browsers. So I made something that fit my requirements.