GitHub - cognitect-labs/clj9p: Research and Innovation Group - 9P library for Clojure (original) (raw)

clj9p

This library is an implementation of the 9P Protocol.

Bell Labs built an entire vision around "microservices" from 1985-2004 and at the foundation is 9P.

9P, originally built to underlay the Plan9 Distributed Operating System, is the logical conclusion of the Unix philosophy - "everything is a file."

With 9P everything really is a file (synthetic or real) - this includes devices (CPUs, GPUs), kernel stacks (like the networking stack), distributed services, remote files, ... everything. The client/consumer decides how to consume all "files" with a userland/client-basedmount. That is, mount unions together all "file systems", producing a single, resolving, file system upon which the client operates.

For more details read the 9P intro man page or look at theexample file system

NOTE: This repository also includes useful Netty utilities for building networked servers and clients.

Usage

FIXME

TODO

Copyright © 2019 Cognitect

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Dependencies