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

#889 in Procedural macros

Download history 724/week @ 2024-10-30 622/week @ 2024-11-06 855/week @ 2024-11-13 964/week @ 2024-11-20 640/week @ 2024-11-27 731/week @ 2024-12-04 796/week @ 2024-12-11 401/week @ 2024-12-18 83/week @ 2024-12-25 361/week @ 2025-01-01 681/week @ 2025-01-08 610/week @ 2025-01-15 734/week @ 2025-01-22 934/week @ 2025-01-29 1001/week @ 2025-02-05 684/week @ 2025-02-12

3,481 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

~210–650KB
~15K SLoC