]>
git.saurik.com Git - redis.git/blob - deps/hiredis/example-libev.c
199d706c9a95f299c4082ffec4fd7cdf5ea70617
7 #include "adapters/libev.h"
9 void getCallback(redisAsyncContext
*c
, void *r
, void *privdata
) {
10 redisReply
*reply
= r
;
11 if (reply
== NULL
) return;
12 printf("argv[%s]: %s\n", (char*)privdata
, reply
->str
);
14 /* Disconnect after receiving the reply to GET */
15 redisAsyncDisconnect(c
);
18 void disconnectCallback(const redisAsyncContext
*c
, int status
) {
19 if (status
!= REDIS_OK
) {
20 printf("Error: %s\n", c
->errstr
);
24 int main (int argc
, char **argv
) {
25 signal(SIGPIPE
, SIG_IGN
);
26 struct ev_loop
*loop
= ev_default_loop(0);
28 redisAsyncContext
*c
= redisAsyncConnect("127.0.0.1", 6379);
30 /* Let *c leak for now... */
31 printf("Error: %s\n", c
->errstr
);
35 redisLibevAttach(c
,loop
);
36 redisAsyncSetDisconnectCallback(c
,disconnectCallback
);
37 redisAsyncCommand(c
, NULL
, NULL
, "SET key %b", argv
[argc
-1], strlen(argv
[argc
-1]));
38 redisAsyncCommand(c
, getCallback
, (char*)"end-1", "GET key");