nserver

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | LICENSE

commit b3a1a808f443b75ddf643d8eabd0aa1c8267a922
parent 6b81fc3f0da9205ebc65dfd00837831378a1982c
Author: rsiddharth <s@ricketyspace.net>
Date:   Thu, 16 Apr 2020 21:44:35 -0400

Update nserver/README.md

Diffstat:
nserver/README.md | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+), 0 deletions(-)

diff --git a/nserver/README.md b/nserver/README.md @@ -1,5 +1,38 @@ # nserver +A nihilistic stats server written is part of reading Learn C the +Harday. + + +## 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: + +``` +make +``` + +To compile a debuggable version of the server, do: + +``` +make dev +``` + +The usual: + +``` +make clean +``` + +clean up things. + + ## statserve To start this server, do: @@ -9,3 +42,30 @@ To start this server, do: ``` 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.