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

#2163 in Encoding

Download history 78/week @ 2024-03-13 49/week @ 2024-03-20 59/week @ 2024-03-27 83/week @ 2024-04-03 65/week @ 2024-04-10 39/week @ 2024-04-17 46/week @ 2024-04-24 30/week @ 2024-05-01 55/week @ 2024-05-08 96/week @ 2024-05-15 128/week @ 2024-05-22 39/week @ 2024-05-29 23/week @ 2024-06-05 50/week @ 2024-06-12 51/week @ 2024-06-19 40/week @ 2024-06-26

165 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

~11–27MB
~387K SLoC