Commit Graph

286 Commits

Author SHA1 Message Date
Pieter Noordhuis
3ce8d5b08b Change reply processing code to prepare for pub/sub 2010-12-31 15:49:21 +01:00
Pieter Noordhuis
2d53a6a711 Copy entire callback in one call 2010-12-31 11:22:13 +01:00
Pieter Noordhuis
a020db3013 License 2010-12-29 15:52:07 +01:00
Pieter Noordhuis
18c55a8f1e Scope event library related data and hooks to a struct 2010-12-29 15:41:03 +01:00
Pieter Noordhuis
8cb4d52cd2 Run pending callbacks with a NULL reply on redisAsyncFree() 2010-12-28 20:49:18 +01:00
Pieter Noordhuis
29ea901b24 Fix the async free() and disconnect() functions
To make sure that these functions can also be called from functions
other than command callbacks, the flag IN_CALLBACK is introduced that
holds whether the context is currently executing a callback. If so,
redisAsyncFree() and redisAsyncDisconnect() should delegate their task
to the reply processor to avoid segfaults.
2010-12-28 20:29:29 +01:00
Pieter Noordhuis
c882a3621a Only check REDIS_FREEING when a callback was executed 2010-12-28 19:35:26 +01:00
Pieter Noordhuis
e3776bfaa6 Add function to explicitly free an async context 2010-12-28 19:19:25 +01:00
Pieter Noordhuis
3d76f3fe02 Add write event after setting connect callback 2010-12-28 17:59:26 +01:00
Nicolas Favre-Felix
2c17d2e221 Missing declaration. 2010-12-22 18:01:50 +01:00
Pieter Noordhuis
0fbfa45f23 Bump version 2010-12-16 23:22:13 +01:00
Pieter Noordhuis
c6a51d19c5 Forgot to add -L. to remaining LDFLAGS 2010-12-16 23:20:39 +01:00
Pieter Noordhuis
be51c8398f Fix building shared library on Solaris 2010-12-16 23:10:13 +01:00
Pieter Noordhuis
7e4ce57367 Solaris doesn't know AF_LOCAL 2010-12-16 22:59:07 +01:00
Pieter Noordhuis
a1e2c6dfed Add myself to license in some files 2010-12-16 22:08:46 +01:00
Pieter Noordhuis
a2e28901a0 Use generic $(MAKE) in Makefile 2010-12-16 21:59:28 +01:00
Pieter Noordhuis
2ef9c2e5f7 Redefine REDIS_REPLY_ERROR to be non-zero
When no reply object functions are defined, the reply type integer is
returned from redisGetReply(). This sets the *reply argument to the
consumed reply, where 0 means that it was not possible to consume a full
reply. With REDIS_REPLY_ERROR having the same value, there is no way to
tell the difference between an error reply and not consuming a reply.
2010-12-16 21:50:37 +01:00
Pieter Noordhuis
12725f88ed Fire onConnect callback on the first write event 2010-12-07 10:22:30 +01:00
Amir Mohammad Saied
822efe2ac3 Redis command getting executed is PING, PONG is actually the expected answer 2010-12-02 22:00:21 +03:30
Pieter Noordhuis
7684d556bd Add (nearly) full printf support by delegating to vsprintf 2010-12-02 16:20:55 +01:00
Pieter Noordhuis
ff50dff70d Use more aggressive optimization 2010-12-02 14:34:10 +01:00
Pieter Noordhuis
f625d97b9b Whitespace 2010-12-02 14:34:03 +01:00
Pieter Noordhuis
af7369a253 Use extra field for adapter-specific data
This makes sure that the "data" field on the asynchronous context can be
used for user-specific data.
2010-12-01 16:43:24 +01:00
Pieter Noordhuis
9af1574d6e Add adapter for the Redis-bundled ae event library 2010-12-01 13:47:58 +01:00
Pieter Noordhuis
8322162e52 Don't compile object files for examples twice 2010-12-01 13:30:22 +01:00
Pieter Noordhuis
2635feb0ac Wait with setting CONNECTED until there is an fd 2010-12-01 12:54:47 +01:00
Pieter Noordhuis
89c6927282 Bump version 2010-11-26 15:31:53 +01:00
Pieter Noordhuis
e73289a5c6 Use r->len in another spot 2010-11-26 15:25:19 +01:00
Pieter Noordhuis
e24023a46a Add section on errors to readme 2010-11-26 15:14:51 +01:00
Pieter Noordhuis
4eab917a24 Use custom stroll 2010-11-26 14:48:04 +01:00
Pieter Noordhuis
f14108361b Reply objects don't need to be calloc'ed 2010-11-26 14:47:01 +01:00
Pieter Noordhuis
5cf292cdd0 Use explicit buffer length field in the reply reader 2010-11-26 13:49:15 +01:00
Pieter Noordhuis
adb0895e99 Rename 'parent' field in read tasks to 'obj' 2010-11-26 13:04:42 +01:00
Pieter Noordhuis
b4dd17b57f Remove leftover line from earlier commit 2010-11-24 15:46:50 +01:00
Pieter Noordhuis
257a9d40a9 Set error on unexpected nesting of multi bulks 2010-11-24 15:46:05 +01:00
Pieter Noordhuis
d4058be7b0 Add pointer to parent task in read tasks 2010-11-24 15:21:34 +01:00
Pieter Noordhuis
3d702d0bf1 Don't care if object returned by object function is NULL 2010-11-24 15:05:25 +01:00
Pieter Noordhuis
1927c643da Add privdata field to reply reader
This field is set in the read tasks that are passed to the reply object
functions. This allows to curry arbitrary data to these functions.
2010-11-24 12:27:46 +01:00
Pieter Noordhuis
fb49cd1988 Make the libev adapter work without support for multiple event loops 2010-11-23 15:55:32 +01:00
Pieter Noordhuis
808e43e161 Update README with new way of handling errors 2010-11-22 18:03:35 +01:00
Pieter Noordhuis
56bbeb7049 Abort on code path that should never be taken 2010-11-22 10:38:07 +01:00
Pieter Noordhuis
b6b96f776e Make error messages consistent in casing 2010-11-22 10:37:14 +01:00
Pieter Noordhuis
537e64e946 Tests for behavior when connecting fails 2010-11-22 10:32:37 +01:00
Pieter Noordhuis
7c33f2666b Make test for formatting commands using a vector more robust 2010-11-22 10:06:43 +01:00
Pieter Noordhuis
cb89a472b6 Fix formatting literal percent characters 2010-11-22 10:00:45 +01:00
Pieter Noordhuis
9d9b8e1c79 Correctly format commands with empty interpolated values 2010-11-22 09:55:54 +01:00
Pieter Noordhuis
4f4d1ed7b5 Explicit casts for the libev adapter 2010-11-22 09:45:55 +01:00
Ryan Tecco
0d925bb497 add explicit casts for C++ compiles - C++ disallows implicit casts from
void*
2010-11-21 16:26:55 -08:00
Ryan Tecco
a01c5b1352 more extern "C" declarations for C++ compiles 2010-11-21 16:21:46 -08:00
Pieter Noordhuis
650df0f982 Don't do a write(2) after QUIT
This causes non-deterministic error messages because sometimes the
socket will already be closed and sometimes it is yet to be closed.
2010-11-19 12:37:06 +01:00