This repo provides Go packages for writing 9P2000 file servers. One such example is jsonfs, which serves a JSON-encoded file as a file tree. Currently, only server functionality is provided, though a client is planned -- see plan9port, v9fs for client implementations.
9P2000 provides a lightweight, stateful protocol for using hierarchical
styx package attempts to expose, rather than hide, this
statefulness; user sessions are handled by, and tied to the lifetime of,
a single function.
WARNING: WORK IN PROGRESS
This is a work-in-progress on a high-level library for writing 9P servers and clients. While it has reached a point where it can be used to write working file systems, the high-level API and its implementation are still subject to change. For now, please vendor this dependency if you would choose to use it.
This repository provides the following packages:
styxproto: Low-level decoder and encoder for 9P2000 messages.
styx: high-level server package akin to
styxproto is the most stable. The
styx package is still in
an experimental stage.