} #fwrite(STDERR, colorize($message, 'yellow')." : ".colorize('received', 'green')."\n"); #fwrite(STDERR, colorize(getenv('sid'), 'yellow')." widgets : ".\sizeToCleanSize(memory_get_usage())."\n"); \Moxl\API::clear(); \RPC::clear(); if (!$parser->parse($message)) { fwrite(STDERR, colorize(getenv('sid'), 'yellow') . " " . $parser->getError() . "\n"); } if ($restart) { $session = \Sessionx::start(); \Moxl\Stanza\Stream::init($session->host); stream_set_blocking($conn->stream, 0); $restart = false; } $msg = \RPC::commit(); \RPC::clear(); if (!empty($msg)) { echo base64_encode(gzcompress(json_encode($msg), 9)) . ""; #fwrite(STDERR, colorize($msg.' '.strlen($msg), 'yellow')." : ".colorize('sent to browser', 'green')."\n"); } $xml = \Moxl\API::commit(); \Moxl\API::clear(); if (!empty($xml)) { $conn->write(trim($xml)); #fwrite(STDERR, colorize(trim($xml), 'yellow')." : ".colorize('sent to XMPP', 'green')."\n"); } } // Two ticks to be sure that we get everything from the socket, sic… $loop->tick(); $loop->tick(); });