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

#2034 in Encoding

Download history 3/week @ 2024-01-06 2/week @ 2024-01-13 16/week @ 2024-02-10 27/week @ 2024-02-17 34/week @ 2024-02-24 41/week @ 2024-03-02 106/week @ 2024-03-09 78/week @ 2024-03-16 19/week @ 2024-03-23 121/week @ 2024-03-30 41/week @ 2024-04-06 67/week @ 2024-04-13 23/week @ 2024-04-20

253 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–26MB
~375K SLoC