#format #derive #p9 #proc-macro #encode #decode #wire

macro jetstream_p9_wire_format_derive

Supporting proc-macro for the p9 crate

10 releases (4 breaking)

Uses old Rust 2015

0.6.0 Mar 21, 2024
0.5.1 Mar 15, 2024
0.4.0 Mar 14, 2024
0.3.2 Mar 14, 2024
0.1.5 Mar 14, 2024

#26 in #wire

Download history 42/week @ 2024-07-25 9/week @ 2024-08-01 13/week @ 2024-09-19 7/week @ 2024-09-26

434 downloads per month
Used in jetstream_p9

BSD-3-Clause

14KB
310 lines

p9 - Server implementation of the 9p file system protocol

This directory contains the protocol definition and a server implementation of the 9p file system protocol.

  • wire_format_derive - A procedural macro that derives the serialization and de-serialization implementation for a struct into the 9p wire format.
  • src/protocol - Defines all the messages used in the 9p protocol. Also implements serialization and de-serialization for some base types (integers, strings, vectors) that form the foundation of all 9p messages. Wire format implementations for all other messages are derived using the wire_format_derive macro.
  • src/server - Implements a full 9p server, carrying out file system requests on behalf of clients.

lib.rs:

Derives a 9P wire format encoding for a struct by recursively calling WireFormat::encode or WireFormat::decode on the fields of the struct. This is only intended to be used from within the p9 crate.

Dependencies

~220–660KB
~16K SLoC