Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
5def8643
Commit
5def8643
authored
Jul 04, 2011
by
Pieter Noordhuis
Browse files
Merge pull request #51 from rtyler/master
Minor fixes to the libev.h and other async adapters
parents
0625e7c5
0bf4dded
Changes
3
Hide whitespace changes
Inline
Side-by-side
adapters/ae.h
View file @
5def8643
#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 {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -92,4 +94,4 @@ int redisAeAttach(aeEventLoop *loop, redisAsyncContext *ac) {
return
REDIS_OK
;
return
REDIS_OK
;
}
}
#endif
adapters/libev.h
View file @
5def8643
#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 {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -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) {
...
@@ -111,3 +114,4 @@ int redisLibevAttach(EV_P_ redisAsyncContext *ac) {
return
REDIS_OK
;
return
REDIS_OK
;
}
}
#endif
adapters/libevent.h
View file @
5def8643
#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 {
...
@@ -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) {
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment