diff --git a/src/Connection/StreamConnection.php b/src/Connection/StreamConnection.php index d74bd6d1..5b8aa3d6 100644 --- a/src/Connection/StreamConnection.php +++ b/src/Connection/StreamConnection.php @@ -123,6 +123,14 @@ class StreamConnection extends AbstractConnection $this->onConnectionError(trim($errstr), $errno); } + if (isset($parameters->read_write_timeout)) { + $rwtimeout = (float) $parameters->read_write_timeout; + $rwtimeout = $rwtimeout > 0 ? $rwtimeout : -1; + $timeoutSeconds = floor($rwtimeout); + $timeoutUSeconds = ($rwtimeout - $timeoutSeconds) * 1000000; + stream_set_timeout($resource, $timeoutSeconds, $timeoutUSeconds); + } + return $resource; }