<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 6: Ping is waiting forever</title><link>https://sourceforge.net/p/phpagi/feature-requests/6/</link><description>Recent changes to 6: Ping is waiting forever</description><atom:link href="https://sourceforge.net/p/phpagi/feature-requests/6/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 05 Jun 2013 16:02:51 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/phpagi/feature-requests/6/feed.rss" rel="self" type="application/rss+xml"/><item><title>Ping is waiting forever</title><link>https://sourceforge.net/p/phpagi/feature-requests/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;A small but very sensitive point on using Ping to keep connection alive. But when it goes offline we have to apply timeout on that request. Here is my quick hack, the solution could be more general.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;function&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;send_request($action, $parameters&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="nf"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;)&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
  $&lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &amp;quot;&lt;span class="n"&gt;Action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; $&lt;span class="n"&gt;action&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="n"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;$&lt;span class="n"&gt;parameters&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; $&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;$&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    $&lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="p"&gt;.=&lt;/span&gt; &amp;quot;$&lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; $&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;;&lt;/span&gt;
  $&lt;span class="n"&gt;req&lt;/span&gt; &lt;span class="p"&gt;.=&lt;/span&gt; &amp;quot;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;\&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&amp;quot;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="n"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;$&lt;span class="n"&gt;this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;socket&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; $&lt;span class="n"&gt;req&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;$&lt;span class="n"&gt;action&lt;/span&gt; !&lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;'Ping'&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; $&lt;span class="n"&gt;this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;wait_response&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; $&lt;span class="n"&gt;this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;wait_response&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;TRUE&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Mogyi</dc:creator><pubDate>Wed, 05 Jun 2013 16:02:51 -0000</pubDate><guid>https://sourceforge.netb59cbb1d5daed7e471e54399a59af00e82dcd267</guid></item></channel></rss>