From edfe8c24d100999da69ba73ea368e7429a03d581 Mon Sep 17 00:00:00 2001 From: "NGnius (Graham)" Date: Sat, 1 Jul 2023 23:56:37 -0400 Subject: [PATCH] Update project info --- .github/FUNDING.yml | 2 ++ README.md | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..8957940 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,2 @@ +github: NGnius +liberapay: NGnius diff --git a/README.md b/README.md index b8b0b78..96f1fd9 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,13 @@ # 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](https://github.com/NGnius/usdpl-rs). 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.