add kvs_array.c
This commit is contained in:
51
kvstore.h
51
kvstore.h
@@ -5,11 +5,26 @@
|
||||
#define __KV_STORE_H__
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
#define NETWORK_REACTOR 0
|
||||
#define NETWORK_PROACTOR 1
|
||||
#define NETWORK_NTYCO 2
|
||||
|
||||
#define NETWORK_SELECT NETWORK_REACTOR
|
||||
#define NETWORK_SELECT NETWORK_PROACTOR
|
||||
|
||||
|
||||
|
||||
#define KVS_MAX_TOKENS 128
|
||||
|
||||
#define ENABLE_ARRAY 1
|
||||
|
||||
|
||||
|
||||
|
||||
typedef int (*msg_handler)(char *msg, int length, char *response);
|
||||
@@ -21,13 +36,37 @@ extern int ntyco_start(unsigned short port, msg_handler handler);
|
||||
|
||||
|
||||
|
||||
const char *command[] = {
|
||||
"SET", "GET", "DEL", "MOD", "EXIST"
|
||||
};
|
||||
#if ENABLE_ARRAY
|
||||
|
||||
const char *response[] = {
|
||||
typedef struct kvs_array_item_s {
|
||||
char *key;
|
||||
char *value;
|
||||
} kvs_array_item_t;
|
||||
|
||||
#define KVS_ARRAY_SIZE 1024
|
||||
|
||||
typedef struct kvs_array_s {
|
||||
kvs_array_item_t *table;
|
||||
int idx;
|
||||
int total;
|
||||
} kvs_array_t;
|
||||
|
||||
int kvs_array_create(kvs_array_t *inst);
|
||||
void kvs_array_destory(kvs_array_t *inst);
|
||||
|
||||
int kvs_array_set(kvs_array_t *inst, char *key, char *value);
|
||||
char* kvs_array_get(kvs_array_t *inst, char *key);
|
||||
int kvs_array_del(kvs_array_t *inst, char *key);
|
||||
int kvs_array_mod(kvs_array_t *inst, char *key, char *value);
|
||||
int kvs_array_exist(kvs_array_t *inst, char *key);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
void *kvs_malloc(size_t size);
|
||||
void kvs_free(void *ptr);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user