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
386802e8
Commit
386802e8
authored
May 20, 2016
by
Chris.Xin
Browse files
using new version libevent
parent
e30db1a3
Changes
1
Hide whitespace changes
Inline
Side-by-side
adapters/libevent.h
View file @
386802e8
...
...
@@ -30,13 +30,13 @@
#ifndef __HIREDIS_LIBEVENT_H__
#define __HIREDIS_LIBEVENT_H__
#include <event.h>
#include <
event2/
event.h>
#include "../hiredis.h"
#include "../async.h"
typedef
struct
redisLibeventEvents
{
redisAsyncContext
*
context
;
struct
event
rev
,
wev
;
struct
event
*
rev
,
*
wev
;
}
redisLibeventEvents
;
static
void
redisLibeventReadEvent
(
int
fd
,
short
event
,
void
*
arg
)
{
...
...
@@ -53,28 +53,28 @@ static void redisLibeventWriteEvent(int fd, short event, void *arg) {
static
void
redisLibeventAddRead
(
void
*
privdata
)
{
redisLibeventEvents
*
e
=
(
redisLibeventEvents
*
)
privdata
;
event_add
(
&
e
->
rev
,
NULL
);
event_add
(
e
->
rev
,
NULL
);
}
static
void
redisLibeventDelRead
(
void
*
privdata
)
{
redisLibeventEvents
*
e
=
(
redisLibeventEvents
*
)
privdata
;
event_del
(
&
e
->
rev
);
event_del
(
e
->
rev
);
}
static
void
redisLibeventAddWrite
(
void
*
privdata
)
{
redisLibeventEvents
*
e
=
(
redisLibeventEvents
*
)
privdata
;
event_add
(
&
e
->
wev
,
NULL
);
event_add
(
e
->
wev
,
NULL
);
}
static
void
redisLibeventDelWrite
(
void
*
privdata
)
{
redisLibeventEvents
*
e
=
(
redisLibeventEvents
*
)
privdata
;
event_del
(
&
e
->
wev
);
event_del
(
e
->
wev
);
}
static
void
redisLibeventCleanup
(
void
*
privdata
)
{
redisLibeventEvents
*
e
=
(
redisLibeventEvents
*
)
privdata
;
event_del
(
&
e
->
rev
);
event_del
(
&
e
->
wev
);
event_del
(
e
->
rev
);
event_del
(
e
->
wev
);
free
(
e
);
}
...
...
@@ -99,10 +99,10 @@ static int redisLibeventAttach(redisAsyncContext *ac, struct event_base *base) {
ac
->
ev
.
data
=
e
;
/* Initialize and install read/write events */
e
vent_set
(
&
e
->
rev
,
c
->
fd
,
EV_READ
,
redisLibeventReadEvent
,
e
);
e
vent_set
(
&
e
->
wev
,
c
->
fd
,
EV_WRITE
,
redisLibeventWriteEvent
,
e
);
event_
base_set
(
base
,
&
e
->
rev
);
event_
base_set
(
base
,
&
e
->
wev
);
e
->
rev
=
event_new
(
base
,
c
->
fd
,
EV_READ
,
redisLibeventReadEvent
,
e
);
e
->
wev
=
event_new
(
base
,
c
->
fd
,
EV_WRITE
,
redisLibeventWriteEvent
,
e
);
event_
add
(
e
->
rev
,
NULL
);
event_
add
(
e
->
wev
,
NULL
);
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