Daniele Alessandri
bd8a44101c
Change some exception messages thrown by the transaction class.
2011-08-24 11:59:47 +02:00
Daniele Alessandri
71e7cb1399
Make some methods/fields of the transaction class protected instead of private.
2011-08-24 11:49:31 +02:00
Daniele Alessandri
f085d2f97d
Use a protected method to get all the flags of a transaction.
2011-08-24 11:46:07 +02:00
Daniele Alessandri
7241fe6419
Make the code that process EXEC replies more easy on the eyes.
2011-08-21 15:18:39 +02:00
Daniele Alessandri
d01e738d59
Move the code that executes a transaction block to a separate method.
2011-08-21 15:15:39 +02:00
Daniele Alessandri
0bdcf299c2
Implement a few minor changes.
2011-08-21 14:58:39 +02:00
Daniele Alessandri
03d408ddad
Use a single integer to store and check the current state of a transaction.
2011-08-21 14:31:04 +02:00
Daniele Alessandri
3733e790eb
Reuse code.
2011-08-21 11:55:08 +02:00
Daniele Alessandri
a9e34cabb1
Add a composer.json for Composer.
...
Composer is a package manager for PHP currently under development. You can find
details about Composer at the following URL http://github.com/composer/composer
2011-08-21 10:12:54 +02:00
Daniele Alessandri
b30f495345
Change how the hash of a node is retrieved in the hashring-based distributor.
...
Now classes that extend Predis\Distribution\HashRing can override how the hash
of a node is retrieved in order to implement different kind of distribution
strategies while reusing the base algorithm.
2011-08-20 18:07:42 +02:00
Daniele Alessandri
c6fa5232bc
Unset multiple fields with just one unset().
2011-08-20 18:00:58 +02:00
Daniele Alessandri
2b62b75557
Jot down planned improvements for the single-file builder script.
2011-08-20 16:36:11 +02:00
Daniele Alessandri
6151d6d53e
Improve actual "namespace" and "use" directives detection (fix ISSUE #35 ).
2011-08-20 16:30:33 +02:00
Daniele Alessandri
db51f6e0d0
Remove spurious carriage returns and trailing spaces.
2011-08-20 16:27:59 +02:00
Daniele Alessandri
62744fbb02
Merge branch 'webdis_connection'
2011-06-29 12:05:24 +02:00
Daniele Alessandri
05b111d6d2
Update comment.
2011-06-29 12:05:00 +02:00
Daniele Alessandri
fc51f23ca7
Return cURL errors on HTTP response codes >= 400.
...
By default the cURL extension does not trigger any error when fetching a
response with an HTTP code >= 400. Changing this behaviour is also useful to
intercept the 403 error generated when executing Redis commands disallowed
on Webdis by using ACLs.
2011-06-08 23:07:23 +02:00
Daniele Alessandri
b85bc00880
Add support for the 'connection_timeout' parameter with WebdisConnection.
2011-06-08 22:40:35 +02:00
Daniele Alessandri
86256f2819
Minor reorganization, nothing worth mentioning.
2011-06-08 21:56:11 +02:00
Daniele Alessandri
bc040fae6f
Change handling of unsupported methods in Predis\Network\WebdisConnection.
2011-06-08 21:53:54 +02:00
Daniele Alessandri
e7d2717ee1
Switch from pecl_http to the cURL extension to make requests against Webdis.
...
The cURL extension is easily found already packaged for various Linux
distributions, it provides everything needed and it seems to have a lower
overhead compared to pecl_http.
2011-06-08 21:43:23 +02:00
Daniele Alessandri
0de4af07dd
Fix wrong serialization for commands that do not have arguments.
2011-06-06 12:49:38 +02:00
Daniele Alessandri
ff7812282e
Slightly change how HTTP options are initialized and handled.
2011-06-06 12:18:37 +02:00
Daniele Alessandri
e5a85dfce8
Add support for HTTP basic access authentication.
...
With Webdis it is possible to define some access control rules to allow or
disallow certain commands and one of the possible configurations is based on
plain old HTTP authentication.
2011-06-05 22:24:03 +02:00
Daniele Alessandri
4b3ba03a3e
Disallow certain commands that are disabled or do not make sense with Webdis.
2011-06-05 21:43:55 +02:00
Daniele Alessandri
776501b31a
Use a faster approach to serialize the POST data for HTTP requests to Webdis.
2011-06-05 21:01:15 +02:00
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
a8e063e855
Minor updates to README.
2011-06-05 10:19:02 +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