Remove "timeout" as a default parameter in Connection\Parameters.

Falling back to a default timeout values should be done by the connection class
as it is an implementation detail that may vary depending on the backend.
This commit is contained in:
Daniele Alessandri
2015-07-25 16:29:19 +02:00
parent 55aab86800
commit 2b0c8fbb26
7 changed files with 14 additions and 10 deletions
+4
View File
@@ -17,6 +17,10 @@ v1.1.0 (2015-xx-xx)
These parameters augment the user-supplied parameters when creating a new
connection but they do not override specific parameters when already defined.
- Predis\Connection\Parameters does not have a default for "timeout" anymore,
falling back to a default value is a responsibility of each connection class.
Internally the default timeout for connect() operations is still 5 seconds.
v1.0.1 (2015-01-02)
================================================================================
-1
View File
@@ -26,7 +26,6 @@ class Parameters implements ParametersInterface
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
'timeout' => 5.0,
);
/**
+2 -2
View File
@@ -36,7 +36,7 @@ use Predis\Response\Status as StatusResponse;
* - host: hostname or IP address of the server.
* - port: TCP port of the server.
* - path: path of a UNIX domain socket when scheme is 'unix'.
* - timeout: timeout to perform the connection.
* - timeout: timeout to perform the connection (default is 5 seconds).
* - read_write_timeout: timeout of read / write operations.
*
* @link http://github.com/nrk/phpiredis
@@ -286,7 +286,7 @@ class PhpiredisSocketConnection extends AbstractConnection
$null = null;
$selectable = array($socket);
$timeout = (float) $parameters->timeout;
$timeout = (isset($parameters->timeout) ? (float) $parameters->timeout : 5.0);
$timeoutSecs = floor($timeout);
$timeoutUSecs = ($timeout - $timeoutSecs) * 1000000;
+3 -1
View File
@@ -108,7 +108,9 @@ class PhpiredisStreamConnection extends StreamConnection
protected function createStreamSocket(ParametersInterface $parameters, $address, $flags, $context = null)
{
$socket = null;
$resource = @stream_socket_client($address, $errno, $errstr, (float) $parameters->timeout, $flags);
$timeout = (isset($parameters->timeout) ? (float) $parameters->timeout : 5.0);
$resource = @stream_socket_client($address, $errno, $errstr, $timeout, $flags);
if (!$resource) {
$this->onConnectionError(trim($errstr), $errno);
+2 -2
View File
@@ -23,7 +23,7 @@ use Predis\Response\Status as StatusResponse;
* - host: hostname or IP address of the server.
* - port: TCP port of the server.
* - path: path of a UNIX domain socket when scheme is 'unix'.
* - timeout: timeout to perform the connection.
* - timeout: timeout to perform the connection (default is 5 seconds).
* - read_write_timeout: timeout of read / write operations.
* - async_connect: performs the connection asynchronously.
* - tcp_nodelay: enables or disables Nagle's algorithm for coalescing.
@@ -94,7 +94,7 @@ class StreamConnection extends AbstractConnection
*/
protected function createStreamSocket(ParametersInterface $parameters, $address, $flags)
{
$timeout = (float) $parameters->timeout;
$timeout = (isset($parameters->timeout) ? (float) $parameters->timeout : 5.0);
if (!$resource = @stream_socket_client($address, $errno, $errstr, $timeout, $flags)) {
$this->onConnectionError(trim($errstr), $errno);
+3 -2
View File
@@ -33,7 +33,7 @@ use Predis\Response\Status as StatusResponse;
* - scheme: must be 'http'.
* - host: hostname or IP address of the server.
* - port: TCP port of the server.
* - timeout: timeout to perform the connection.
* - timeout: timeout to perform the connection (default is 5 seconds).
* - user: username for authentication.
* - pass: password for authentication.
*
@@ -117,10 +117,11 @@ class WebdisConnection implements NodeConnectionInterface
private function createCurl()
{
$parameters = $this->getParameters();
$timeout = (isset($parameters->timeout) ? (float) $parameters->timeout : 5.0) * 1000;
$options = array(
CURLOPT_FAILONERROR => true,
CURLOPT_CONNECTTIMEOUT_MS => $parameters->timeout * 1000,
CURLOPT_CONNECTTIMEOUT_MS => $timeout,
CURLOPT_URL => "{$parameters->scheme}://{$parameters->host}:{$parameters->port}",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_POST => true,
@@ -30,7 +30,6 @@ class ParametersTest extends PredisTestCase
$this->assertEquals($defaults['scheme'], $parameters->scheme);
$this->assertEquals($defaults['host'], $parameters->host);
$this->assertEquals($defaults['port'], $parameters->port);
$this->assertEquals($defaults['timeout'], $parameters->timeout);
}
/**
@@ -285,7 +284,6 @@ class ParametersTest extends PredisTestCase
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
'timeout' => 5.0,
);
}