Daniele Alessandri
2c8d256bdc
Reimport Predis\Network\WebdisConnection with updates.
...
I could have rebased the previous branch with master, but since it was only a
single file and its history was basically meaningless I preferred to start
from scratch.
2011-06-05 18:46:16 +02:00
Daniele Alessandri
0195a7488a
Fix a bug in Predis\Network\StreamConnection::writeBytes().
...
When PHP's fwrite() ends up writing only a part of $buffer over the network,
this method attempts to automatically write the rest of $buffer. Due to this
bug, the data being already sent to the server was not discarded from $buffer.
Usually fwrite() writes the whole $buffer in one go, but anyway this bug would
not have passed unnoticed since it results in malformed requests and Redis
would have surely returned a -ERR reply.
2011-06-05 17:05:04 +02:00
Daniele Alessandri
2cdcd297f0
Rename Predis\Client::pubSubContext() to Predis\Client::pubSub().
2011-06-04 18:47:59 +02:00
Daniele Alessandri
65c0336d2f
Use the shared initializer to initialize Pub/Sub and accept callbacks.
...
When a callback is specified, the client does not return a new instance
of Predis\PubSubContext but it invokes that callback on each message
received. The context can be aborted simply by returning FALSE from the
callback.
2011-06-04 18:41:38 +02:00
Daniele Alessandri
8c207f71bd
Removing leftovers.
2011-06-04 17:12:24 +02:00
Daniele Alessandri
42f4663050
Move Predis\ConnectionException to Predis\Network\ConnectionException.
2011-06-04 16:00:35 +02:00
Daniele Alessandri
3801928e0d
Move Predis\ProtocolException to Predis\Protocol\ProtocolException.
2011-06-04 15:53:31 +02:00
Daniele Alessandri
d59556cae1
Rename the Predis\Protocols namespace to Predis\Protocol.
2011-06-04 15:45:01 +02:00
Daniele Alessandri
667ce97213
Remove a useless return statement.
2011-06-04 15:27:36 +02:00
Daniele Alessandri
101fffbabe
Do not check for the existence of a UNIX domain socket file in userland.
...
Now Predis throws an instance of Predis\ConnectionException when trying to
connect to an instance of Redis on a non-existent UNIX domain socket file.
2011-06-04 15:19:06 +02:00
Daniele Alessandri
b35dcd515b
Change the code layout of private/protected fields.
2011-06-02 23:49:46 +02:00
Daniele Alessandri
df0943120e
Add a fire-and-forget executor for pipelines.
2011-06-02 23:44:49 +02:00
Daniele Alessandri
b72b12c5cd
Fix wrong exception being thrown on invalid instance types passed to 'executor'.
2011-06-02 23:41:12 +02:00
Daniele Alessandri
3f2814c254
Change the code layout of private/protected fields.
2011-06-02 18:53:53 +02:00
Daniele Alessandri
1bd4a25e36
Remove code comments in the exception classes. Descriptions will be added again later with proper documentation.
2011-06-02 18:43:52 +02:00
Daniele Alessandri
24aaa2ac23
Nothing relevant, just reorganizing some private members.
2011-06-02 17:52:22 +02:00
Daniele Alessandri
ba4ebb3799
Make the specialized pipeline and transaction initializer methods of Predis\Client protected.
2011-06-02 17:37:33 +02:00
Daniele Alessandri
087b8b0b2b
Pass a transaction instance as the first argument of Predis\Transaction\AbortedMultiExecException.
2011-06-02 17:34:06 +02:00
Daniele Alessandri
b3910466c9
Clean up a bit the private transaction initializer method of Predis\Client.
2011-06-02 17:25:04 +02:00
Daniele Alessandri
6ad73c782a
Move classes related to MULTI/EXEC abstraction to the Predis\Transaction namespace.
2011-06-02 17:20:18 +02:00
Daniele Alessandri
fee3866f54
Make it possible to pipeline instances of Predis\Command\ICommand directly.
2011-06-02 16:53:16 +02:00
Daniele Alessandri
dfad0d3d24
Rename private variables.
2011-06-02 16:44:52 +02:00
Daniele Alessandri
1ba1408d39
Move the handling of pipeline options inside the pipeline class.
2011-06-02 16:41:17 +02:00
Daniele Alessandri
e048ac2d51
Move the PipelineContext class in the Predis\Pipeline namespace.
2011-06-02 16:03:33 +02:00
Daniele Alessandri
fb3088b4d3
Redis 2.4 has now its server profile (but it's not the default one yet). The development profile is now Redis 2.6.
2011-05-31 22:01:15 +02:00
Daniele Alessandri
962037321a
Make ZADD and ZREM variadic commands for Redis 2.4.
2011-05-31 21:28:37 +02:00
Daniele Alessandri
42521f2558
Do not use new classes for variadic RPUSH, LPUSH, SADD, SREM and HDEL in the 2.4 profile.
2011-05-31 21:26:04 +02:00
Daniele Alessandri
2012963ed0
Add the Predis\IReplyObject interface (used to mark returned objects that must skip reply parsing).
2011-05-21 11:04:15 +02:00
Daniele Alessandri
deeb58644a
Fix missing change that should have been part of commit cc2349c.
2011-05-21 10:50:42 +02:00
Daniele Alessandri
cc2349c785
Change how error messages for server-side errors are handled.
2011-05-14 10:34:22 +02:00
Daniele Alessandri
8efe76ad60
Make Predis\Commands\ServerEvalSHA inherited from Predis\Commands\ServerEval.
2011-05-13 21:36:25 +02:00
Daniele Alessandri
2010774b68
New command: EVALSHA (Redis v2.4-dev).
2011-05-13 21:23:02 +02:00
Daniele Alessandri
909b06e805
Add support for transparent key prefixing to EVAL and the Predis\Commands\ScriptedCommand class.
2011-05-13 20:22:06 +02:00
Daniele Alessandri
13ac03e134
Merge branch 'redis_scripting'
2011-05-13 20:06:34 +02:00
Daniele Alessandri
0e0cd865e7
Change the default value for the number of arguments used to populate KEYS.
2011-05-13 19:55:24 +02:00
Daniele Alessandri
6e6a28a9f0
Reduce method calls by one when creating a new connection in Predis\Client.
2011-05-07 11:33:33 +02:00
Daniele Alessandri
486225111d
Allow developers to define connections with Predis\ConnectionFactory using callable objects.
2011-05-07 10:54:22 +02:00
Daniele Alessandri
cd8b3535ef
Simplify Predis\ConnectionFactory.
2011-05-07 10:49:32 +02:00
Daniele Alessandri
984fd06c77
Fix check for unsupported parameters in Predis\Network\PhpiredisConnection.
2011-05-07 09:29:50 +02:00
Daniele Alessandri
b087b9814d
Remove a useless method from the cluster option class.
2011-05-06 16:32:39 +02:00
Daniele Alessandri
4d1dcdb280
Change type check order for client options.
2011-05-06 15:39:22 +02:00
Daniele Alessandri
893618c985
Initialize client options in a lazy way.
2011-05-06 15:20:40 +02:00
Daniele Alessandri
0255261cd5
Whoops, forgot to add Predis\Options\ClientCluster to the repository.
2011-05-05 18:43:08 +02:00
Daniele Alessandri
5f0799ab65
Predis\Commands\Command::filterArguments() is protected.
2011-05-05 17:30:05 +02:00
Daniele Alessandri
e97e13bde5
Add the 'prefix' client option. The client will automatically prepend the specified prefix string to each key.
2011-05-05 17:16:14 +02:00
Daniele Alessandri
46db0409a1
Merge branch 'command_processor'
2011-05-05 16:31:55 +02:00
Daniele Alessandri
724543a4e6
Rename Predis\Network\ConnectionCluster to Predis\Network\PredisCluster.
2011-05-05 15:55:24 +02:00
Daniele Alessandri
150795f999
Remove the key_distribution option and allow user-defined callbacks to initialize a cluster connection.
2011-05-05 15:06:00 +02:00
Daniele Alessandri
9b4a915a52
Dynamically check for the presence of the WITHSCORE modifier with the ZRANGE family of commands.
2011-05-04 22:44:37 +02:00
Daniele Alessandri
b47a3f9ab8
Implement Predis\Commands\Command::setRawArguments().
2011-05-04 18:52:26 +02:00