Import 'p9' crate

Request Document: go/android-rust-importing-crates
For CL Reviewers: go/android3p#cl-review
For Build Team: go/ab-third-party-imports

Bug: 317282512
Test: n/a
Change-Id: Ia4db439643269ab1f32943b252b718f944dac3fb
18 files changed
tree: 7d5780a63260dbf6e802f435c873eeeb2a70a3d5
  1. src/
  2. .cargo_vcs_info.json
  3. .gitignore
  4. Cargo.toml
  5. Cargo.toml.orig
  6. CONTRIBUTING.md
  7. LICENSE
  8. METADATA
  9. MODULE_LICENSE_BSD_LIKE
  10. OWNERS
  11. README.md
README.md

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.