Commit 386802e8 authored by Chris.Xin's avatar Chris.Xin
Browse files

using new version libevent

parent e30db1a3
...@@ -30,13 +30,13 @@ ...@@ -30,13 +30,13 @@
#ifndef __HIREDIS_LIBEVENT_H__ #ifndef __HIREDIS_LIBEVENT_H__
#define __HIREDIS_LIBEVENT_H__ #define __HIREDIS_LIBEVENT_H__
#include <event.h> #include <event2/event.h>
#include "../hiredis.h" #include "../hiredis.h"
#include "../async.h" #include "../async.h"
typedef struct redisLibeventEvents { typedef struct redisLibeventEvents {
redisAsyncContext *context; redisAsyncContext *context;
struct event rev, wev; struct event *rev, *wev;
} redisLibeventEvents; } redisLibeventEvents;
static void redisLibeventReadEvent(int fd, short event, void *arg) { static void redisLibeventReadEvent(int fd, short event, void *arg) {
...@@ -53,28 +53,28 @@ static void redisLibeventWriteEvent(int fd, short event, void *arg) { ...@@ -53,28 +53,28 @@ static void redisLibeventWriteEvent(int fd, short event, void *arg) {
static void redisLibeventAddRead(void *privdata) { static void redisLibeventAddRead(void *privdata) {
redisLibeventEvents *e = (redisLibeventEvents*)privdata; redisLibeventEvents *e = (redisLibeventEvents*)privdata;
event_add(&e->rev,NULL); event_add(e->rev,NULL);
} }
static void redisLibeventDelRead(void *privdata) { static void redisLibeventDelRead(void *privdata) {
redisLibeventEvents *e = (redisLibeventEvents*)privdata; redisLibeventEvents *e = (redisLibeventEvents*)privdata;
event_del(&e->rev); event_del(e->rev);
} }
static void redisLibeventAddWrite(void *privdata) { static void redisLibeventAddWrite(void *privdata) {
redisLibeventEvents *e = (redisLibeventEvents*)privdata; redisLibeventEvents *e = (redisLibeventEvents*)privdata;
event_add(&e->wev,NULL); event_add(e->wev,NULL);
} }
static void redisLibeventDelWrite(void *privdata) { static void redisLibeventDelWrite(void *privdata) {
redisLibeventEvents *e = (redisLibeventEvents*)privdata; redisLibeventEvents *e = (redisLibeventEvents*)privdata;
event_del(&e->wev); event_del(e->wev);
} }
static void redisLibeventCleanup(void *privdata) { static void redisLibeventCleanup(void *privdata) {
redisLibeventEvents *e = (redisLibeventEvents*)privdata; redisLibeventEvents *e = (redisLibeventEvents*)privdata;
event_del(&e->rev); event_del(e->rev);
event_del(&e->wev); event_del(e->wev);
free(e); free(e);
} }
...@@ -99,10 +99,10 @@ static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) { ...@@ -99,10 +99,10 @@ static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) {
ac->ev.data = e; ac->ev.data = e;
/* Initialize and install read/write events */ /* Initialize and install read/write events */
event_set(&e->rev,c->fd,EV_READ,redisLibeventReadEvent,e); e->rev = event_new(base, c->fd, EV_READ, redisLibeventReadEvent, e);
event_set(&e->wev,c->fd,EV_WRITE,redisLibeventWriteEvent,e); e->wev = event_new(base, c->fd, EV_WRITE, redisLibeventWriteEvent, e);
event_base_set(base,&e->rev); event_add(e->rev, NULL);
event_base_set(base,&e->wev); event_add(e->wev, NULL);
return REDIS_OK; return REDIS_OK;
} }
#endif #endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment