[phlegyas "0.1.6"]
The vast majority of the protocol-level documentation was sourced from the wonderful Plan 9 from User Space project.
I have copied the test resources from droyo's styx package, credit due for making it available.
Run lein test
to verify things work as they should. Currently, 100% of the provided framedumps are successfully handled, hopefully indicating that this is fully up to spec.
Note the field names in types.clj
. The assemble-packet
function will take a map of these and create a byte-array for you. disassemble-packet
will do the reverse.
I have included a built-in TCP server in order to aid this development, accessible from the phlegyas.core namespace.
Jack in with Spacemacs/CIDER with ,'
and then, at the REPL, (r)
This will start a server at localhost on port 10001.
For testing, build plan9port (will require compilers & development headers):
git clone https://github.com/9fans/plan9port.git && cd plan9port && ./INSTALL
Or, alternatively, if you have Docker installed, there is a project that will do this for you inside a container, so you don't have to touch your base system.
Then, run the built 9P FUSE client, e.g.:
9pfuse -D 'tcp!localhost!10001' mountpoint
This should aid in the development cycle.
The example VFS layer will create a single filesystem for attaching, and some example files within, with both dynamic and static content.
When hitting inevitable issues, a simple call to (r)
again will reset the service back to a clean state, ready to continue on your adventures.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close