summaryrefslogtreecommitdiff
path: root/extlib/XMPPHP/XMLStream.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@prodromou.name>2008-08-30 21:21:36 -0400
committerEvan Prodromou <evan@prodromou.name>2008-08-30 21:21:36 -0400
commitf7865b1d410e303bb5dc2549d12823f37149b8e5 (patch)
tree749221b5dfabde256f9458ad22f8f6fb460ea1c6 /extlib/XMPPHP/XMLStream.php
parentd5f83d92521dbf838b1fc1fad2716efc3122c6b7 (diff)
debug logging in __process
darcs-hash:20080831012136-84dde-801afb153d5f5c761336394647788e99e845f4a6.gz
Diffstat (limited to 'extlib/XMPPHP/XMLStream.php')
-rw-r--r--extlib/XMPPHP/XMLStream.php18
1 files changed, 17 insertions, 1 deletions
diff --git a/extlib/XMPPHP/XMLStream.php b/extlib/XMPPHP/XMLStream.php
index 3f85ed0f8..d23585c14 100644
--- a/extlib/XMPPHP/XMLStream.php
+++ b/extlib/XMPPHP/XMLStream.php
@@ -319,6 +319,8 @@ class XMPPHP_XMLStream {
private function __process($maximum=0) {
+ $this->log->log("__process($maximum)", XMPPHP_Log::LEVEL_VERBOSE);
+
$remaining = $maximum;
do {
@@ -336,20 +338,34 @@ class XMPPHP_XMLStream {
$secs = $remaining / 1000000;
$usecs = $remaining % 1000000;
}
+ $this->log->log("stream_select(read, write, except, $secs, $usecs)", XMPPHP_Log::LEVEL_VERBOSE);
$updated = @stream_select($read, $write, $except, $secs, $usecs);
- if ($updated > 0) {
+ if ($updated === false) {
+ $this->log->log("Error on stream_select()", XMPPHP_Log::LEVEL_VERBOSE);
+ if ($this->reconnect) {
+ $this->doReconnect();
+ } else {
+ $this->log->log("Giving up", XMPPHP_Log::LEVEL_VERBOSE);
+ fclose($this->socket);
+ return false;
+ }
+ } else if ($updated > 0) {
# XXX: Is this big enough?
+ $this->log->log("Reading from socket", XMPPHP_Log::LEVEL_VERBOSE);
$buff = @fread($this->socket, 4096);
if(!$buff) {
if($this->reconnect) {
$this->doReconnect();
} else {
+ $this->log->log("Error on fread(), reconnect", XMPPHP_Log::LEVEL_VERBOSE);
fclose($this->socket);
return false;
}
}
$this->log->log("RECV: $buff", XMPPHP_Log::LEVEL_VERBOSE);
xml_parse($this->parser, $buff, false);
+ } else {
+ # $updated == 0 means no changes during timeout.
}
$remaining -= (microtime() - $starttime);
} while (is_null($maximum) || $remaining > 0);