6 releases (breaking)

0.10.0 Nov 17, 2023
0.8.0 Jul 2, 2023
0.7.0 Jun 30, 2023
0.6.0 Apr 18, 2023
0.1.0 Apr 10, 2023

#293 in WebSocket

Download history 2/week @ 2024-02-09 15/week @ 2024-02-16 18/week @ 2024-02-23 12/week @ 2024-03-01 16/week @ 2024-03-08 12/week @ 2024-03-15 6/week @ 2024-03-22 59/week @ 2024-03-29

94 downloads per month
Used in 4 crates (3 directly)

Apache-2.0

8KB
149 lines

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.

Dependencies

~3MB
~64K SLoC