2 unstable releases

0.3.0 Nov 14, 2024
0.2.3 Jul 31, 2023
0.2.2 Jul 31, 2023
0.2.1 Jul 31, 2023
0.2.0 Jul 27, 2023

#840 in Procedural macros

Download history 633/week @ 2024-08-26 716/week @ 2024-09-02 767/week @ 2024-09-09 723/week @ 2024-09-16 771/week @ 2024-09-23 842/week @ 2024-09-30 936/week @ 2024-10-07 502/week @ 2024-10-14 772/week @ 2024-10-21 772/week @ 2024-10-28 561/week @ 2024-11-04 872/week @ 2024-11-11 885/week @ 2024-11-18 658/week @ 2024-11-25 702/week @ 2024-12-02 908/week @ 2024-12-09

3,166 downloads per month
Used in p9

BSD-3-Clause

12KB
251 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