aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-17 12:18:58 -0500
committerFranklin Wei <git@fwei.tk>2016-01-17 12:18:58 -0500
commit9a98c157ebdc6e400f076485a4d78e9026ea1a16 (patch)
tree52285e499321ca0b5a1bf591f26455a026d987ab /README.md
parent98896de83ffa7380404e41b6ed80cfc6ba3bf8f0 (diff)
downloadnetcosm-9a98c157ebdc6e400f076485a4d78e9026ea1a16.zip
netcosm-9a98c157ebdc6e400f076485a4d78e9026ea1a16.tar.gz
netcosm-9a98c157ebdc6e400f076485a4d78e9026ea1a16.tar.bz2
netcosm-9a98c157ebdc6e400f076485a4d78e9026ea1a16.tar.xz
update readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 13 insertions, 10 deletions
diff --git a/README.md b/README.md
index 4fbf6d7..67cacd7 100644
--- a/README.md
+++ b/README.md
@@ -8,10 +8,10 @@ features might drift out of existence without prior warning!
### Prerequisities:
-libgcrypt
-libev
-linux >= 3.4 (need "packet mode" pipes)
-glibc >= 2.9
+* libgcrypt
+* libev
+* linux >= 3.4 (need "packet mode" pipes)
+* glibc >= 2.9
### Compiling
@@ -21,11 +21,11 @@ This gives you the executable in `build/unix.bin`.
## Todo List
-World persistence (partial)
-Inventory
-Verbs
-Game scripting
-NPCs
+* World persistence (partial)
+* Inventory
+* Verbs
+* Game scripting
+* NPCs
## Internal Design
@@ -33,6 +33,9 @@ A child process is spawned for every client that connects. There are
two pipes created for every child: a pipe for the child to write to,
and a pipe for the master to write to.
+Both of these pipes are created in "packet mode" (see pipe(2)), and
+therefore require at least linux 3.4 and glibc 2.9.
+
### Child-Master Requests
Many operations, such as listing clients, require the help of the
@@ -41,7 +44,7 @@ data to it's pipe to the parent. The size of the request MUST be less
than PIPE_BUF, which is 4096 on Linux. The format of the request is as
follows:
- | Child PID | Request Length | Request Code | Data (if any) |
+ | Child PID | Request Code | Data (if any) |
The master polls child pipes for data, and processes any requests it
finds. The master then writes it's data to the pipes of any children