13 unstable releases (3 breaking)

0.4.1 Dec 4, 2022
0.4.0 Jul 25, 2022
0.3.4 Jul 24, 2022
0.2.2 Aug 3, 2021
0.1.2 Feb 15, 2021

#1928 in Encoding

Download history 8/week @ 2023-12-10 4/week @ 2023-12-24 4/week @ 2024-01-07 1/week @ 2024-01-14 20/week @ 2024-02-11 29/week @ 2024-02-18 33/week @ 2024-02-25 44/week @ 2024-03-03 101/week @ 2024-03-10 82/week @ 2024-03-17

266 downloads per month
Used in 6 crates (2 directly)

MIT license

16KB
277 lines

serde-tc

Serde support for trait call


lib.rs:

serde-tc is a library for de/serializing method invocations for trait objects.

serde-tc-macro provides a macro for generating various code for a particular trait defiiniation.

  1. A dispatcher; it takes the method name and the arguemnts (an opaque string) and invokes the method on the object.
  2. A encoder; it defines a copy of the methods of the trait. Instead of the original return types, the newly defined methods return encoded strings that can be directly used by the dispatcher.

serde-tc also provides a convenient module http, which automatically builds a HTTP server using the given trait objects to serve as a RPC server. The module also provides a stub implementation, which can be used as the HTTP client when the server is built with the same trait.

Please refer to serde-tc/tests/integration_tests.rs for the actual usage.

Dependencies

~10–24MB
~370K SLoC