diff --git a/src/handlers.c b/src/handlers.c index d2f69f5..067803c 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -10,6 +10,14 @@ const char* STATS_FORMAT = "STAT backlog %d\r\n" "%s" "END\r\n"; +const char* HELP_TEXT = + "COMMANDS:\r\n" + " STATS - show statistics\r\n" + " GET - get from the cache or empty when not present\r\n" + " VERSION - show the current application version" + " FLUSH_ALL - clear the cache\r\n" + " HELP - show this message\r\n" + " QUIT - disconnect from the server\r\n"; void handle_stats(KCLIST* tokens, FILE* client){ char out[1024]; @@ -54,18 +62,6 @@ void handle_flush(KCLIST* tokens, FILE* client){ } } -void handle_delete(KCLIST* tokens, FILE* client){ - if(kclistcount(tokens)){ - char* key; - list_shift(tokens, &key); - if(key != NULL){ - if(kcdbremove(db, key, strlen(key))){ - fputs("DELETED\r\n", client); - } - free(key); - } - } -} void handle_get(KCLIST* tokens, FILE* client){ if(kclistcount(tokens)){ @@ -117,6 +113,10 @@ void handle_get(KCLIST* tokens, FILE* client){ } } +void handle_help(KCLIST* tokens, FILE* client){ + fputs(HELP_TEXT, client); +} + int handle_command(char* buffer, FILE* client){ int status = 0; KCLIST* tokens = kclistnew(); @@ -130,10 +130,10 @@ int handle_command(char* buffer, FILE* client){ handle_stats(tokens, client); } else if(strcmp(command, "flush_all") == 0){ handle_flush(tokens, client); - } else if(strcmp(command, "delete") == 0){ - handle_delete(tokens, client); } else if(strcmp(command, "version") == 0){ handle_version(tokens, client); + } else if(strcmp(command, "help") == 0){ + handle_help(tokens, client); } else if(strcmp(command, "quit") == 0){ status = -1; } else{