summaryrefslogtreecommitdiffstats
path: root/nserver
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-10-05 01:05:04 -0400
committerrsiddharth <s@ricketyspace.net>2020-04-17 20:56:34 -0400
commitd13a86674889793f5a6f44e609def3086430494d (patch)
tree046ed27cf4391db21ff5273484f8b656dcefe2ec /nserver
parent63a4b5015fcbfcc54958a755993db19337132ed1 (diff)
nserver/src/protocol.c: Update sscreate.
* nserver/src/protocol.c (sscreate): Flesh it out. Initial version. * nserver/src/protocol.h: Include bstrlib, stats.
Diffstat (limited to 'nserver')
-rw-r--r--nserver/src/protocol.c14
-rw-r--r--nserver/src/protocol.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/nserver/src/protocol.c b/nserver/src/protocol.c
index 0d254cd..6963116 100644
--- a/nserver/src/protocol.c
+++ b/nserver/src/protocol.c
@@ -16,8 +16,22 @@ int ssinit()
int sscreate(char *key)
{
+ int rc = 0;
+
check(ssinit() == 0, "ssinit failed");
+ // 1. create bstring from 'key'.
+ bstring k = bfromcstr(key);
+ check(k != NULL, "key creation failed");
+
+ // 2. allocate fresh Stats.
+ Stats *st = Stats_create();
+ check(st != NULL, "stats creation failed");
+
+ // 3. add to hashmap.
+ rc = Hashmap_set(hash, k, st);
+ check(rc == 0, "hashmap set failed");
+
return 0;
error:
return -1;
diff --git a/nserver/src/protocol.h b/nserver/src/protocol.h
index 22355bd..3d357d9 100644
--- a/nserver/src/protocol.h
+++ b/nserver/src/protocol.h
@@ -1,7 +1,9 @@
#ifndef _protocol_h
#define _protocol_h
+#include <bstrlib.h>
#include <hashmap.h>
+#include <stats.h>
#include <dbg.h>
int sscreate(char *key);