Commit Graph

151 Commits

Author SHA1 Message Date
Pieter Noordhuis
5fa8d30599 There is no longer need for a separate redisDisconnect 2010-11-01 14:20:51 +01:00
Pieter Noordhuis
ef995accb2 Strip non-blocking callbacks from hiredis.c 2010-11-01 14:13:03 +01:00
Pieter Noordhuis
435e545dd2 Fix redisGetReply 2010-10-31 21:11:25 +01:00
Pieter Noordhuis
6042c569b1 Move include of stdio.h to hiredis.h for size_t 2010-10-31 17:25:20 +01:00
Pieter Noordhuis
1d4f16b571 Extract OOM killer to util.h 2010-10-31 17:21:49 +01:00
Pieter Noordhuis
a0b9f04eaa Move stdarg.h include to the hiredis header file 2010-10-31 14:45:15 +01:00
Pieter Noordhuis
44a2d08b30 The reply object functions may not change the read tasks 2010-10-31 14:44:36 +01:00
Pieter Noordhuis
3f0394b8a9 Use a fixed size stack instead of a dynamic list for read tasks 2010-10-31 14:42:48 +01:00
Pieter Noordhuis
f463734e91 Remove reply object functions from connect functions 2010-10-31 12:53:57 +01:00
Pieter Noordhuis
47e1f77149 Refactor internal function flow and add redisAppendCommand* family 2010-10-31 12:34:45 +01:00
Pieter Noordhuis
298e9325d7 First step in decoupling reply callbacks from internals 2010-10-31 10:56:24 +01:00
Pieter Noordhuis
a3a405bcba Format a command using an argument vector 2010-10-31 10:34:29 +01:00
Pieter Noordhuis
e95c9d4c5b Change redisFormatCommand to return the command in a char*
This allows users of the API to format a command without the need to
have all the sds functions included, only for free'ing the returned
wire-level command.
2010-10-30 20:38:29 +02:00
Pieter Noordhuis
bc5dcdbc85 Status replies should have type REDIS_REPLY_STATUS 2010-10-30 17:49:39 +02:00
Pieter Noordhuis
171b5a24d4 Drop dependency on sds.h for exposed API 2010-10-30 17:47:19 +02:00
Pieter Noordhuis
1e7f5ae6bd Rename struct 2010-10-30 16:36:08 +02:00
Pieter Noordhuis
0f745d1ac0 Run pending callbacks with NULL reply on redisDisconnect() 2010-10-19 21:26:06 +02:00
Pieter Noordhuis
d4b4a9128e Revert e5dd32d8 that added the const qualifier for command callbacks 2010-10-19 21:24:30 +02:00
Pieter Noordhuis
ba42ab2ef8 Revert privdata in context callbacks to being non-const 2010-10-19 14:19:51 +02:00
Pieter Noordhuis
f9596db90b Test callback sequence in non-blocking context 2010-10-18 16:27:52 +02:00
Pieter Noordhuis
e332a32b35 Change redisWriteBuffer to return OK on an empty buffer 2010-10-18 15:49:52 +02:00
Pieter Noordhuis
61ba85ce57 Move context callbacks into struct and make privdata const 2010-10-18 12:37:33 +02:00
Pieter Noordhuis
b60952f22a Disconnect before free'ing 2010-10-07 17:38:56 +02:00
Pieter Noordhuis
9cd3b03d84 Fire callback when the context is being disconnected by the user 2010-10-07 17:36:22 +02:00
Pieter Noordhuis
e5dd32d809 Add const qualifier to privdata pointer for command callbacks 2010-10-07 17:35:31 +02:00
Pieter Noordhuis
5c7b5fca4d Make error messages more consistent (e.g. no newline) 2010-10-06 21:23:03 +02:00
Pieter Noordhuis
1c245845ed Trigger callbacks when a command is issued or the context is free'd 2010-09-25 22:31:07 +02:00
Pieter Noordhuis
9e417047ed Add function to free an allocated context 2010-09-25 15:33:27 +02:00
Pieter Noordhuis
cab99f6427 Free command before returning 2010-09-25 15:26:34 +02:00
Pieter Noordhuis
bc3ec0f35a Rename HIREDIS_BLOCK to REDIS_BLOCK 2010-09-25 15:11:59 +02:00
Pieter Noordhuis
a7d7618141 Deprecate the error object for I/O and protocol errors
Rather, use the return value REDIS_OK and REDIS_ERR to designate if
calling a function has a successful outcome. When there was an error in
performing the call the error field will be set inside the reader or the
context.
2010-09-25 15:09:13 +02:00
Pieter Noordhuis
e6fb160b44 Rename defines HIREDIS_* to REDIS_* 2010-09-25 12:06:47 +02:00
Pieter Noordhuis
bb668e1b94 Support callback functions in a non-blocking context 2010-09-25 12:06:00 +02:00
Pieter Noordhuis
de9c172b50 Fix comment 2010-09-25 11:07:17 +02:00
Pieter Noordhuis
817d26b81d Use context variable to keep state for a connection
The context supports both blocking and non-blocking connections. All
read and write events are not handled by hiredis, but hiredis exposes an
API for buffered reading/writing to Redis.
2010-09-24 18:42:22 +02:00
Pieter Noordhuis
81f6b8ffd4 Split redisCommand to a more generic function 2010-09-24 18:42:21 +02:00
Pieter Noordhuis
af8ba74cbf Rename functions to be more consistent, split feed from get reply 2010-09-21 11:39:18 +02:00
Pieter Noordhuis
b1bedf5c6d Use a set of function pointers for building the reply
Allows libraries to wrap the reply parsing code and build the reply in a
streaming fashion. Reply objects can immediately be initialized to the
required type without having to convert an intermediary format.
2010-09-20 22:04:35 +02:00
Pieter Noordhuis
0a6e3b38e7 Add context to createErrorObject 2010-09-20 18:18:25 +02:00
Pieter Noordhuis
db5244045c Introduce read tasks to allow hooking other code into reply parsing 2010-09-20 18:02:28 +02:00
Pieter Noordhuis
b1fa529cf9 Add function to check if the reply reader is empty 2010-09-20 15:26:18 +02:00
Pieter Noordhuis
e944ea3662 Add reply type for protocol errors, in order to never exit() 2010-09-20 14:05:23 +02:00
Pieter Noordhuis
e621f31306 Expose API for streaming bytes to a reply 2010-09-20 09:50:19 +02:00
Pieter Noordhuis
c18b58899e Use auxiliary variable to store reply before free'ing the list 2010-09-19 20:41:03 +02:00
Pieter Noordhuis
62c8054dbe Clean up when there is an I/O error 2010-09-19 19:01:31 +02:00
Pieter Noordhuis
457cdbf7c5 Rewrite reply parsing to use a read buffer 2010-09-19 18:47:05 +02:00
antirez
e7aa0b4b52 memory leak resolved in redisReadIntegerReply 2010-08-30 15:42:24 +02:00
antirez
4b5f030d4f integer memory leak fixed, thanks to Amit Bakshi for both reporting and providing a patch 2010-06-11 23:13:49 +02:00
Pierre Riteau
4693a51707 Constify the API and enable -Wwrite-strings
The API is more similar to printf now.
2010-05-25 14:02:14 +02:00
antirez
3d8d3aa0e5 better example and license information 2010-05-18 17:45:36 +02:00
antirez
4f6fc6dfb1 hiredis was extracted from redis-tools, reverted to standard malloc/free, ported to the new protocol, and started as a stand alone project in order to support the need of a C client in the Redis community 2010-05-18 17:11:09 +02:00