From bb1a745ae26e4821105af79288f95fa593924d32 Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Sun, 12 Jul 2020 12:16:31 -0400 Subject: README -> README.md --- README.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 README.md (limited to 'README.md') 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. -- cgit v1.2.3