memcache/strings.c
author Tero Marttila <terom@fixme.fi>
Fri, 29 Aug 2008 23:31:17 +0300
changeset 48 1c67f512779b
parent 46 8a832c0e01ee
permissions -rw-r--r--
fix doc tpyos, rename some enums, fix printf format len for non-zero terminated strings (hg status), pass args to memcache_cmd_format_header via memcache_req_*, handle zero-length STORE requests, memcache_req is_buf_ours + free, other function name typos (keymemcache_req_key), fix req state behaviour re *_DATA_* for STORE requests and FETCH/END, better memcache_server connpool events/management, modular memcache_test with a working benchmark. This is a long commit message.
46
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
#include "../memcache.h"
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
#define CASE_STR(val) case val: return #val
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
#define CASE_DEFAULT(prefix) default: return #prefix "_???"
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
const char *memcache_command_str (enum memcache_command cmd) {
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
    switch (cmd) {
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
        CASE_STR(MEMCACHE_CMD_INVALID);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
        CASE_STR(MEMCACHE_CMD_FETCH_GET);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
        CASE_STR(MEMCACHE_CMD_STORE_SET);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
        CASE_STR(MEMCACHE_CMD_STORE_ADD);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
        CASE_STR(MEMCACHE_CMD_STORE_REPLACE);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        CASE_STR(MEMCACHE_CMD_STORE_APPEND);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
        CASE_STR(MEMCACHE_CMD_STORE_PREPEND);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        CASE_STR(MEMCACHE_CMD_STORE_CAS);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
        CASE_DEFAULT(MEMCACHE_CMD);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    }
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
}
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
const char *memcache_reply_str (enum memcache_reply reply) {
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    switch (reply) {
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
        CASE_STR(MEMCACHE_RPL_INVALID);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
        CASE_STR(MEMCACHE_RPL_ERROR);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
        CASE_STR(MEMCACHE_RPL_CLIENT_ERROR);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
        CASE_STR(MEMCACHE_RPL_SERVER_ERROR);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
        CASE_STR(MEMCACHE_RPL_VALUE);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
        CASE_STR(MEMCACHE_RPL_END);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
        CASE_STR(MEMCACHE_RPL_STORED);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
        CASE_STR(MEMCACHE_RPL_NOT_STORED);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
        CASE_STR(MEMCACHE_RPL_EXISTS);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
        CASE_STR(MEMCACHE_RPL_NOT_FOUND);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
        CASE_DEFAULT(MEMCACHE_RPL);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
    }
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
}
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36
48
1c67f512779b fix doc tpyos, rename some enums, fix printf format len for non-zero terminated strings (hg status), pass args to memcache_cmd_format_header via memcache_req_*, handle zero-length STORE requests, memcache_req is_buf_ours + free, other function name typos (keymemcache_req_key), fix req state behaviour re *_DATA_* for STORE requests and FETCH/END, better memcache_server connpool events/management, modular memcache_test with a working benchmark. This is a long commit message.
Tero Marttila <terom@fixme.fi>
parents: 46
diff changeset
    37
const char *memcache_state_str (enum memcache_state state) {
46
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
    switch (state) {
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
        CASE_STR(MEMCACHE_STATE_INVALID);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
        CASE_STR(MEMCACHE_STATE_QUEUED);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
        CASE_STR(MEMCACHE_STATE_SEND);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
        CASE_STR(MEMCACHE_STATE_REPLY);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
        CASE_STR(MEMCACHE_STATE_REPLY_DATA);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
        CASE_STR(MEMCACHE_STATE_DONE);
48
1c67f512779b fix doc tpyos, rename some enums, fix printf format len for non-zero terminated strings (hg status), pass args to memcache_cmd_format_header via memcache_req_*, handle zero-length STORE requests, memcache_req is_buf_ours + free, other function name typos (keymemcache_req_key), fix req state behaviour re *_DATA_* for STORE requests and FETCH/END, better memcache_server connpool events/management, modular memcache_test with a working benchmark. This is a long commit message.
Tero Marttila <terom@fixme.fi>
parents: 46
diff changeset
    45
        CASE_STR(MEMCACHE_STATE_DONE_DATA);
46
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46
        CASE_STR(MEMCACHE_STATE_ERROR);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    47
        CASE_DEFAULT(MEMCACHE_STATE);
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    48
    }
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    49
}
8a832c0e01ee bugfixed, enum->string mappings, test does requests
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    50