Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/droyo/styx
Go library for the 9P filesystem protocol
https://github.com/droyo/styx
Last synced: 7 days ago
JSON representation
Go library for the 9P filesystem protocol
- Host: GitHub
- URL: https://github.com/droyo/styx
- Owner: droyo
- License: mit
- Created: 2015-09-24T00:48:15.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-10-11T01:57:36.000Z (about 2 years ago)
- Last Synced: 2024-08-01T13:16:35.101Z (3 months ago)
- Language: Go
- Homepage:
- Size: 12.5 MB
- Stars: 64
- Watchers: 14
- Forks: 19
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-9p - styx - Droyo's library focusing on 9p2000 servers (Libraries / Go)
README
![build status](https://travis-ci.org/droyo/styx.svg?branch=master)
[![GoDoc](https://godoc.org/aqwari.net/net/styx?status.svg)](https://godoc.org/aqwari.net/net/styx)This repo provides Go packages for writing 9P2000 file servers. One
such example is [jsonfs](https://github.com/droyo/jsonfs),
which serves a JSON-encoded file as a file tree. Currently, only
server functionality is provided, though a client is planned -- see
[plan9port](https://swtch.com/plan9port), [v9fs](https://v9fs.sf.net)
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` implementationsOf these, `styxproto` is the most stable. The `styx` package is still in
an experimental stage.