Skip to content

droyo/styx

Repository files navigation

build status GoDoc

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 APIs. The 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 net/http
  • styxauth - various styx.AuthFunc implementations

Of these, styxproto is the most stable. The styx package is still in an experimental stage.

About

Go library for the 9P filesystem protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published