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

#2307 in Encoding

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

MIT license

16KB
277 lines

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

~12–27MB
~361K SLoC