1 unstable release

Uses old Rust 2015

0.2.3 Jul 31, 2023
0.2.2 Jul 31, 2023
0.2.1 Jul 31, 2023
0.2.0 Jul 27, 2023

#244 in #encode

Download history 597/week @ 2024-01-10 663/week @ 2024-01-17 526/week @ 2024-01-24 543/week @ 2024-01-31 561/week @ 2024-02-07 423/week @ 2024-02-14 881/week @ 2024-02-21 533/week @ 2024-02-28 721/week @ 2024-03-06 660/week @ 2024-03-13 645/week @ 2024-03-20 805/week @ 2024-03-27 771/week @ 2024-04-03 839/week @ 2024-04-10 630/week @ 2024-04-17 577/week @ 2024-04-24

2,945 downloads per month
Used in p9

BSD-3-Clause

12KB
255 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.rs - 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

~1.5MB
~33K SLoC