summary |
shortlog |
log |
commit | commitdiff |
tree |
github
raw |
patch |
inline | side by side (from parent 1:
8040887)
memcached_stats().
Fixed memcached_stat to report accurate values.
* Fixed bug in multiple hosts not being activated
* Added environmental variable MEMCACHED_SERVERS which can be used to
set the servers list.
* Fixed bug in multiple hosts not being activated
* Added environmental variable MEMCACHED_SERVERS which can be used to
set the servers list.
+ * fixed memcached_stat method (and now memstat works)
0.4 Wed Oct 3 10:28:50 PDT 2007
* Added buffered IO to write calls for keys
0.4 Wed Oct 3 10:28:50 PDT 2007
* Added buffered IO to write calls for keys
MEMCACHED_END,
MEMCACHED_DELETED,
MEMCACHED_VALUE,
MEMCACHED_END,
MEMCACHED_DELETED,
MEMCACHED_VALUE,
MEMCACHED_MAXIMUM_RETURN, /* Always add new error code before */
} memcached_return;
MEMCACHED_MAXIMUM_RETURN, /* Always add new error code before */
} memcached_return;
case 'S': /* STORED STATS SERVER_ERROR */
{
if (buffer[2] == 'A') /* STORED STATS */
case 'S': /* STORED STATS SERVER_ERROR */
{
if (buffer[2] == 'A') /* STORED STATS */
- return MEMCACHED_SUCCESS;
else if (buffer[1] == 'E')
return MEMCACHED_SERVER_ERROR;
else if (buffer[1] == 'T')
else if (buffer[1] == 'E')
return MEMCACHED_SERVER_ERROR;
else if (buffer[1] == 'T')
unsigned int server_key)
{
memcached_return rc;
unsigned int server_key)
{
memcached_return rc;
- char buffer[HUGE_STRING_LEN];
+ char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
size_t send_length, sent_length;
rc= memcached_connect(ptr);
size_t send_length, sent_length;
rc= memcached_connect(ptr);
- send_length= snprintf(buffer, HUGE_STRING_LEN,
+ send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
"stats %s\r\n", args);
else
"stats %s\r\n", args);
else
- send_length= snprintf(buffer, HUGE_STRING_LEN,
+ send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
"stats\r\n");
if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE)
"stats\r\n");
if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE)
if (sent_length == -1 || sent_length != send_length)
return MEMCACHED_WRITE_FAILURE;
if (sent_length == -1 || sent_length != send_length)
return MEMCACHED_WRITE_FAILURE;
- rc= memcached_response(ptr, buffer, HUGE_STRING_LEN, 0);
-
- if (rc == MEMCACHED_SUCCESS)
- char *string_ptr, *end_ptr;
- char *key, *value;
+ rc= memcached_response(ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, 0);
- string_ptr= buffer;
- while (1)
+ if (rc == MEMCACHED_STAT)
- if (memcmp(string_ptr, "STAT ", 5))
- break;
- string_ptr+= 5;
+ char *string_ptr, *end_ptr;
+ char *key, *value;
+
+ string_ptr= buffer;
+ string_ptr+= 5; /* Move past STAT */
for (end_ptr= string_ptr; *end_ptr != ' '; end_ptr++);
key= string_ptr;
key[(size_t)(end_ptr-string_ptr)]= 0;
for (end_ptr= string_ptr; *end_ptr != ' '; end_ptr++);
key= string_ptr;
key[(size_t)(end_ptr-string_ptr)]= 0;
string_ptr= end_ptr + 2;
set_data(stat, key, value);
}
string_ptr= end_ptr + 2;
set_data(stat, key, value);
}
+ if (rc == MEMCACHED_END)
+ return MEMCACHED_SUCCESS;
+ else
+ return rc;
}
memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return *error)
}
memcached_stat_st *memcached_stat(memcached_st *ptr, char *args, memcached_return *error)
return "SERVER DELETE";
case MEMCACHED_VALUE:
return "SERVER VALUE";
return "SERVER DELETE";
case MEMCACHED_VALUE:
return "SERVER VALUE";
+ case MEMCACHED_STAT:
+ return "STAT VALUE";
case MEMCACHED_MAXIMUM_RETURN:
return "Gibberish returned!";
default:
case MEMCACHED_MAXIMUM_RETURN:
return "Gibberish returned!";
default:
stat= memcached_stat(memc, NULL, &rc);
stat= memcached_stat(memc, NULL, &rc);
- if (rc != MEMCACHED_SUCCESS && rc == MEMCACHED_SOME_ERRORS)
+ if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_SOME_ERRORS)
{
printf("Failure to communicate with servers (%s)\n",
memcached_strerror(memc, rc));
{
printf("Failure to communicate with servers (%s)\n",
memcached_strerror(memc, rc));
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Found key pid
Found key uptime
Found key time
Found key pid
Found key uptime
Found key time
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Found key pid
Found key uptime
Found key time
Found key pid
Found key uptime
Found key time
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Found key pid
Found key uptime
Found key time
Found key pid
Found key uptime
Found key time
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Error 21 -> SERVER END
Error 22 -> SERVER DELETE
Error 23 -> SERVER VALUE
Found key pid
Found key uptime
Found key time
Found key pid
Found key uptime
Found key time