aboutsummaryrefslogtreecommitdiffstats
path: root/src/memcached-test.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2008-11-01 18:01:05 +0300
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2008-11-01 18:01:05 +0300
commit2aa9c74f1c449da92f6faf870f8cc801a83bb08b (patch)
tree33f0f941f08583fd0c4c3653cadde8d6ce8426c2 /src/memcached-test.c
parentcc5343692b448c27485a24ea7f1b24d714bb82f6 (diff)
downloadrspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.tar.gz
rspamd-2aa9c74f1c449da92f6faf870f8cc801a83bb08b.zip
* Reorganize structure of source files
* Adopt build system for new structure --HG-- rename : cfg_file.h => src/cfg_file.h rename : cfg_file.l => src/cfg_file.l rename : cfg_file.y => src/cfg_file.y rename : cfg_utils.c => src/cfg_utils.c rename : controller.c => src/controller.c rename : filter.c => src/filter.c rename : filter.h => src/filter.h rename : fstring.c => src/fstring.c rename : fstring.h => src/fstring.h rename : main.c => src/main.c rename : main.h => src/main.h rename : mem_pool.c => src/mem_pool.c rename : mem_pool.h => src/mem_pool.h rename : memcached-test.c => src/memcached-test.c rename : memcached.c => src/memcached.c rename : memcached.h => src/memcached.h rename : perl.c => src/perl.c rename : perl.h => src/perl.h rename : plugins/regexp.c => src/plugins/regexp.c rename : plugins/surbl.c => src/plugins/surbl.c rename : protocol.c => src/protocol.c rename : protocol.h => src/protocol.h rename : upstream.c => src/upstream.c rename : upstream.h => src/upstream.h rename : url.c => src/url.c rename : url.h => src/url.h rename : util.c => src/util.c rename : util.h => src/util.h rename : worker.c => src/worker.c
Diffstat (limited to 'src/memcached-test.c')
-rw-r--r--src/memcached-test.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/memcached-test.c b/src/memcached-test.c
new file mode 100644
index 000000000..c258673bd
--- /dev/null
+++ b/src/memcached-test.c
@@ -0,0 +1,79 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <netdb.h>
+#include <errno.h>
+#include <string.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <event.h>
+
+#include "upstream.h"
+#include "memcached.h"
+
+#define HOST "127.0.0.1"
+#define PORT 11211
+
+memcached_param_t cur_param;
+
+static void
+test_memc_callback (memcached_ctx_t *ctx, memc_error_t error, void *data)
+{
+ int s;
+ int r;
+ int *num = ((int *)data);
+ printf ("result of memc command '%s' is '%s'\n", ctx->cmd, memc_strerror (error));
+ /* Connect */
+ if (*num == 0) {
+ printf ("Setting value to memcached: %s -> %s\n", cur_param.key, (char *)cur_param.buf);
+ s = 1;
+ r = memc_set (ctx, &cur_param, &s, 60);
+ (*num)++;
+ }
+ else if (*num == 1) {
+ printf ("Getting value from memcached: %s -> %s\n", cur_param.key, (char *)cur_param.buf);
+ s = 1;
+ r = memc_get (ctx, &cur_param, &s);
+ (*num)++;
+ }
+ else {
+ printf ("Got value from memcached: %s -> %s\n", cur_param.key, (char *)cur_param.buf);
+ event_loopexit (NULL);
+ }
+}
+
+
+int
+main (int argc, char **argv)
+{
+ memcached_ctx_t mctx;
+ char *addr, buf[512];
+ int num = 0;
+
+ event_init ();
+ strcpy (cur_param.key, "testkey");
+ strcpy (buf, "test_value");
+ cur_param.buf = buf;
+ cur_param.bufsize = sizeof ("test_value") - 1;
+
+ if (argc == 2) {
+ addr = argv[1];
+ }
+ else {
+ addr = HOST;
+ }
+
+ mctx.protocol = TCP_TEXT;
+ mctx.timeout.tv_sec = 1;
+ mctx.timeout.tv_usec = 0;
+ mctx.port = htons (PORT);
+ mctx.options = MEMC_OPT_DEBUG;
+ mctx.callback = test_memc_callback;
+ /* XXX: it is wrong to use local variable pointer here */
+ mctx.callback_data = (void *)&num;
+ inet_aton (addr, &mctx.addr);
+
+ memc_init_ctx (&mctx);
+
+ event_loop (0);
+ return 0;
+}