summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md74
1 files changed, 74 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fe21a01
--- /dev/null
+++ b/README.md
@@ -0,0 +1,74 @@
+# nserver
+
+A nihilistic stats server written as part of reading Learn C the Hard
+Way.
+
+It's a toy, bugs galore.
+
+## compiling
+
+You'll need a C compiler (clang or gcc), the [gdbm][1] library and
+[GNU make][2].
+
+[1]: https://www.gnu.org.ua/software/gdbm
+[2]: https://www.gnu.org/software/make
+
+To compile the server, do:
+
+```
+gmake
+```
+
+To compile a debuggable version of the server, do:
+
+```
+gmake dev
+```
+
+The usual:
+
+```
+gmake clean
+```
+
+to clean up things.
+
+This was written on an OpenBSD machine. There might be issues
+compiling this one other systems.
+
+## running
+
+To start this server, do:
+
+```
+./bin/nserver
+```
+
+It'll be listening on port 7899.
+
+You can connect as a client to the server via `nc`:
+
+```
+nc 127.0.0.1 7899
+```
+
+
+### client commands
+
+Recognized commands:
+
+
+```
+/create NAME
+/sample NAME
+/mean NAME
+/dump NAME
+/list
+/store NAME
+/load NAME ANOTHER_NAME
+```
+
+The `/store` command stores `NAME` in a persistent database on the disk.
+
+The `/load` command loads the `NAME` from the persistent database into
+memory at ANOTHER_NAME.