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