Daniele Alessandri
8dd7f40d21
Fix read/write timeouts with PhpiredisStreamConnection.
...
This is a regression of commit 4db0017 , using stream_socket_recvfrom()
bypasses stream wrappers thus read/write timeouts handled by PHP. The
only way to make them work again is to fetch the raw socket from the
stream resource and use socket_import_stream() which is unfortunately
a PHP 5.4+ function.
2014-07-23 12:43:29 +02:00
Ian Babrou
3fbd29d00b
prevent uncaught broken pipe error
2014-07-07 11:30:44 +04:00
Daniele Alessandri
60733eb5c9
Make Predis v0.8 compatible with HHVM 2.4.0.
...
Since we cannot rely on the PHP version to detect the availability of
socket_import_stream(), we switched to function_exists(). As an added
bonus, using function_exists() is twice faster.
2014-02-11 12:44:00 +01:00
Daniele Alessandri
9d4524cae7
Run php-cs against codebase.
2013-12-17 12:59:31 +01:00
Daniele Alessandri
fd1c6f244f
Apply minor change in command serialization.
2013-12-16 18:52:11 +01:00
Daniele Alessandri
ea9809d4e8
Use path to differentiate persistent TCP streams.
...
Closes #139 .
Backported from master (commit e7f2d28 ).
2013-12-14 14:21:47 +01:00
Daniele Alessandri
c32f6c7152
Add "path" in phpdoc of connections supporting UNIX domain sockets.
2013-12-11 12:21:09 +01:00
Alexandru Patranescu
2d2930d24f
some PHPDoc fixes in lib
...
and removed some unused imports also
2013-06-03 00:06:41 +03:00
Daniele Alessandri
de4bae3f9b
Prevent E_NOTICE messages on __destruct() if $parameters is not set.
...
This can only happen when throwing on invalid connection parameters,
this is a quick fix that will do for now.
2013-02-17 15:21:01 +01:00
Daniele Alessandri
1c1b4096f6
Remove a few more unnecessary strict comparisons.
2013-02-17 15:20:57 +01:00
Daniele Alessandri
8cbcb09c4c
Remove a few unnecessary strict comparisons.
2013-02-16 17:05:12 +01:00
Daniele Alessandri
9675626aac
Add "tcp_nodelay" in the list of supported connection parameters.
...
[ci skip]
2013-02-16 12:14:05 +01:00
Daniele Alessandri
ef0067e1a4
Use slightly faster version of the same code.
...
Yet again, micro-optimizations here.
2013-02-16 11:32:29 +01:00
Daniele Alessandri
da343046e5
No need for strict comparison here.
...
Should be also slightly faster (at least on a micro-optimization scale).
2013-02-16 11:14:55 +01:00
Daniele Alessandri
8d01be388d
Support TCP_NODELAY for stream-based connections on PHP >= 5.4.0.
...
This cannot be implemented for previous versions of PHP because we
need socket_import_stream() to extract the underlying socket resource
from the stream in order to be able to set the TCP_NODELAY flag.
2013-02-16 11:14:50 +01:00
Daniele Alessandri
cfa97dd9f5
Fix cs.
2012-08-24 11:49:43 +02:00
Daniele Alessandri
55a3fd65a2
More code styling changes.
2012-07-27 12:23:25 +02:00
Daniele Alessandri
6c732c737b
Order "use" directives by namespace depth and name.
...
This is not really useful per se, but at least we use a fixed rule.
2012-07-26 23:04:20 +02:00
Daniele Alessandri
559853bdd5
Move some classes and interfaces in other namespaces.
2012-07-26 22:37:31 +02:00
Daniele Alessandri
214b7d2dc9
Remove almost useless method.
2012-04-28 09:23:41 +02:00
Daniele Alessandri
41c29bed4e
Change how Redis errors such as -ERR replies generates exceptions.
...
The "throw_errors" connection parameter has been removed and replaced by the
new "exceptions" client option since exceptions on -ERR replies returned by
Redis are not generated by connection classes anymore but are thrown by the
client class and other abstractions such as pipeline contexts.
This change does not affect much people using the Predis\Client class (aside
from the different configuration) but gives much more flexibility to those
building their own pieces of code around the internal classes of Predis.
2012-04-27 23:29:41 +02:00
Daniele Alessandri
64a84d9020
Add notes about the parameters supported by each connection class.
2012-03-18 15:07:18 +01:00
Daniele Alessandri
a3b4c2244a
Remove some overkill stuff from Predis\ConnectionParameters.
...
It was basically some crazy and almost useless stuff I'd say.
2012-03-18 14:53:21 +01:00
Daniele Alessandri
890ace8565
Rename certain connection parameters usig shorter names.
...
- `connection_async` is now `async_connect`
- `connection_timeout` is now `timeout`
- `connection_persistent` is now `persistent`
2012-03-16 19:33:17 +01:00
Daniele Alessandri
dc14c29676
Rename certain namespaces, interfaces and classes.
...
Now we follow a Symfony2-like naming convention for namespaces, interfaces
and classes sticking with one clear rule.
- Renamed namespaces:
- Predis\Network
- Predis\Profiles
- Predis\Iterators
- Predis\Options
- Predis\Commands
- Predis\Commands\Processors
- Renamed interfaces:
- Predis\IReplyObject
- Predis\IRedisServerError
- Predis\IConnectionFactory
- Predis\IConnectionParameters
- Predis\Options\IOption
- Predis\Options\IClientOptions
- Predis\Profile\IServerProfile
- Predis\Pipeline\IPipelineExecutor
- Predis\Distribution\INodeKeyGenerator
- Predis\Distribution\IDistributionStrategy
- Predis\Protocol\IProtocolProcessor
- Predis\Protocol\IResponseReader
- Predis\Protocol\IResponseHandler
- Predis\Protocol\ICommandSerializer
- Predis\Protocol\IComposableProtocolProcessor
- Predis\Network\IConnection
- Predis\Network\IConnectionSingle
- Predis\Network\IConnectionComposable
- Predis\Network\IConnectionCluster
- Predis\Network\IConnectionReplication
- Predis\Commands\ICommand
- Predis\Commands\IPrefixable
- Predis\Command\Processor\ICommandProcessor
- Predis\Command\Processor\ICommandProcessorChain
- Predis\Command\Processor\IProcessingSupport
- Renamed Classes:
- Predis\Commands\Command
- Predis\Network\ConnectionBase
- Classes moved to different namespaces:
- Predis\MonitorContext
Meh
2012-01-31 18:19:18 +01:00