Merge pull request #51 from rtyler/master

Minor fixes to the libev.h and other async adapters
This commit is contained in:
Pieter Noordhuis 2011-07-04 15:07:46 -07:00
commit 5def86434e
3 changed files with 34 additions and 25 deletions

View File

@ -1,3 +1,5 @@
#ifndef __HIREDIS_AE_H__
#define __HIREDIS_AE_H__
#include <sys/types.h> #include <sys/types.h>
#include <ae.h> #include <ae.h>
#include "../hiredis.h" #include "../hiredis.h"
@ -10,21 +12,21 @@ typedef struct redisAeEvents {
int reading, writing; int reading, writing;
} redisAeEvents; } redisAeEvents;
void redisAeReadEvent(aeEventLoop *el, int fd, void *privdata, int mask) { static void redisAeReadEvent(aeEventLoop *el, int fd, void *privdata, int mask) {
((void)el); ((void)fd); ((void)mask); ((void)el); ((void)fd); ((void)mask);
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
redisAsyncHandleRead(e->context); redisAsyncHandleRead(e->context);
} }
void redisAeWriteEvent(aeEventLoop *el, int fd, void *privdata, int mask) { static void redisAeWriteEvent(aeEventLoop *el, int fd, void *privdata, int mask) {
((void)el); ((void)fd); ((void)mask); ((void)el); ((void)fd); ((void)mask);
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
redisAsyncHandleWrite(e->context); redisAsyncHandleWrite(e->context);
} }
void redisAeAddRead(void *privdata) { static void redisAeAddRead(void *privdata) {
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
aeEventLoop *loop = e->loop; aeEventLoop *loop = e->loop;
if (!e->reading) { if (!e->reading) {
@ -33,7 +35,7 @@ void redisAeAddRead(void *privdata) {
} }
} }
void redisAeDelRead(void *privdata) { static void redisAeDelRead(void *privdata) {
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
aeEventLoop *loop = e->loop; aeEventLoop *loop = e->loop;
if (e->reading) { if (e->reading) {
@ -42,7 +44,7 @@ void redisAeDelRead(void *privdata) {
} }
} }
void redisAeAddWrite(void *privdata) { static void redisAeAddWrite(void *privdata) {
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
aeEventLoop *loop = e->loop; aeEventLoop *loop = e->loop;
if (!e->writing) { if (!e->writing) {
@ -51,7 +53,7 @@ void redisAeAddWrite(void *privdata) {
} }
} }
void redisAeDelWrite(void *privdata) { static void redisAeDelWrite(void *privdata) {
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
aeEventLoop *loop = e->loop; aeEventLoop *loop = e->loop;
if (e->writing) { if (e->writing) {
@ -60,14 +62,14 @@ void redisAeDelWrite(void *privdata) {
} }
} }
void redisAeCleanup(void *privdata) { static void redisAeCleanup(void *privdata) {
redisAeEvents *e = (redisAeEvents*)privdata; redisAeEvents *e = (redisAeEvents*)privdata;
redisAeDelRead(privdata); redisAeDelRead(privdata);
redisAeDelWrite(privdata); redisAeDelWrite(privdata);
free(e); free(e);
} }
int redisAeAttach(aeEventLoop *loop, redisAsyncContext *ac) { static int redisAeAttach(aeEventLoop *loop, redisAsyncContext *ac) {
redisContext *c = &(ac->c); redisContext *c = &(ac->c);
redisAeEvents *e; redisAeEvents *e;
@ -92,4 +94,4 @@ int redisAeAttach(aeEventLoop *loop, redisAsyncContext *ac) {
return REDIS_OK; return REDIS_OK;
} }
#endif

View File

@ -1,3 +1,6 @@
#ifndef __HIREDIS_LIBEV_H__
#define __HIREDIS_LIBEV_H__
#include <stdlib.h>
#include <sys/types.h> #include <sys/types.h>
#include <ev.h> #include <ev.h>
#include "../hiredis.h" #include "../hiredis.h"
@ -10,7 +13,7 @@ typedef struct redisLibevEvents {
ev_io rev, wev; ev_io rev, wev;
} redisLibevEvents; } redisLibevEvents;
void redisLibevReadEvent(EV_P_ ev_io *watcher, int revents) { static void redisLibevReadEvent(EV_P_ ev_io *watcher, int revents) {
#if EV_MULTIPLICITY #if EV_MULTIPLICITY
((void)loop); ((void)loop);
#endif #endif
@ -20,7 +23,7 @@ void redisLibevReadEvent(EV_P_ ev_io *watcher, int revents) {
redisAsyncHandleRead(e->context); redisAsyncHandleRead(e->context);
} }
void redisLibevWriteEvent(EV_P_ ev_io *watcher, int revents) { static void redisLibevWriteEvent(EV_P_ ev_io *watcher, int revents) {
#if EV_MULTIPLICITY #if EV_MULTIPLICITY
((void)loop); ((void)loop);
#endif #endif
@ -30,7 +33,7 @@ void redisLibevWriteEvent(EV_P_ ev_io *watcher, int revents) {
redisAsyncHandleWrite(e->context); redisAsyncHandleWrite(e->context);
} }
void redisLibevAddRead(void *privdata) { static void redisLibevAddRead(void *privdata) {
redisLibevEvents *e = (redisLibevEvents*)privdata; redisLibevEvents *e = (redisLibevEvents*)privdata;
struct ev_loop *loop = e->loop; struct ev_loop *loop = e->loop;
((void)loop); ((void)loop);
@ -40,7 +43,7 @@ void redisLibevAddRead(void *privdata) {
} }
} }
void redisLibevDelRead(void *privdata) { static void redisLibevDelRead(void *privdata) {
redisLibevEvents *e = (redisLibevEvents*)privdata; redisLibevEvents *e = (redisLibevEvents*)privdata;
struct ev_loop *loop = e->loop; struct ev_loop *loop = e->loop;
((void)loop); ((void)loop);
@ -50,7 +53,7 @@ void redisLibevDelRead(void *privdata) {
} }
} }
void redisLibevAddWrite(void *privdata) { static void redisLibevAddWrite(void *privdata) {
redisLibevEvents *e = (redisLibevEvents*)privdata; redisLibevEvents *e = (redisLibevEvents*)privdata;
struct ev_loop *loop = e->loop; struct ev_loop *loop = e->loop;
((void)loop); ((void)loop);
@ -60,7 +63,7 @@ void redisLibevAddWrite(void *privdata) {
} }
} }
void redisLibevDelWrite(void *privdata) { static void redisLibevDelWrite(void *privdata) {
redisLibevEvents *e = (redisLibevEvents*)privdata; redisLibevEvents *e = (redisLibevEvents*)privdata;
struct ev_loop *loop = e->loop; struct ev_loop *loop = e->loop;
((void)loop); ((void)loop);
@ -70,14 +73,14 @@ void redisLibevDelWrite(void *privdata) {
} }
} }
void redisLibevCleanup(void *privdata) { static void redisLibevCleanup(void *privdata) {
redisLibevEvents *e = (redisLibevEvents*)privdata; redisLibevEvents *e = (redisLibevEvents*)privdata;
redisLibevDelRead(privdata); redisLibevDelRead(privdata);
redisLibevDelWrite(privdata); redisLibevDelWrite(privdata);
free(e); free(e);
} }
int redisLibevAttach(EV_P_ redisAsyncContext *ac) { static int redisLibevAttach(EV_P_ redisAsyncContext *ac) {
redisContext *c = &(ac->c); redisContext *c = &(ac->c);
redisLibevEvents *e; redisLibevEvents *e;
@ -111,3 +114,4 @@ int redisLibevAttach(EV_P_ redisAsyncContext *ac) {
return REDIS_OK; return REDIS_OK;
} }
#endif

View File

@ -1,3 +1,5 @@
#ifndef __HIREDIS_LIBEVENT_H__
#define __HIREDIS_LIBEVENT_H__
#include <event.h> #include <event.h>
#include "../hiredis.h" #include "../hiredis.h"
#include "../async.h" #include "../async.h"
@ -7,46 +9,46 @@ typedef struct redisLibeventEvents {
struct event rev, wev; struct event rev, wev;
} redisLibeventEvents; } redisLibeventEvents;
void redisLibeventReadEvent(int fd, short event, void *arg) { static void redisLibeventReadEvent(int fd, short event, void *arg) {
((void)fd); ((void)event); ((void)fd); ((void)event);
redisLibeventEvents *e = (redisLibeventEvents*)arg; redisLibeventEvents *e = (redisLibeventEvents*)arg;
redisAsyncHandleRead(e->context); redisAsyncHandleRead(e->context);
} }
void redisLibeventWriteEvent(int fd, short event, void *arg) { static void redisLibeventWriteEvent(int fd, short event, void *arg) {
((void)fd); ((void)event); ((void)fd); ((void)event);
redisLibeventEvents *e = (redisLibeventEvents*)arg; redisLibeventEvents *e = (redisLibeventEvents*)arg;
redisAsyncHandleWrite(e->context); redisAsyncHandleWrite(e->context);
} }
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);
} }
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);
} }
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);
} }
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);
} }
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);
} }
int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) { static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) {
redisContext *c = &(ac->c); redisContext *c = &(ac->c);
redisLibeventEvents *e; redisLibeventEvents *e;
@ -73,3 +75,4 @@ int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) {
event_base_set(base,&e->wev); event_base_set(base,&e->wev);
return REDIS_OK; return REDIS_OK;
} }
#endif