<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: EventMachine Examples</title>
	<atom:link href="http://www.mikeperham.com/2009/11/02/eventmachine-examples/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mikeperham.com/2009/11/02/eventmachine-examples/</link>
	<description>On Ruby, software and the Internet</description>
	<lastBuildDate>Tue, 03 Jan 2012 09:53:56 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Chris</title>
		<link>http://www.mikeperham.com/2009/11/02/eventmachine-examples/comment-page-1/#comment-1210</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Tue, 26 Jul 2011 19:45:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=382#comment-1210</guid>
		<description>Having similar problems learning EventMachine.. All the tutorials/examples out there are irrelevant to objects/variables/databases beyond the loop construct. Worse yet there are many that setup echo server &#039;examples&#039; without an example client with which to pass data... So far I&#039;ve tried 5 different EM &quot;server&quot; examples that demonstrate no qualities beyond a simple ruby loop. As if that weren&#039;t enough, one of the first examples google returns is a script containing characters that ruby cannot interpret. Finally, all of the connection-based examples on blocking loops is todo with (and requires) HTTP, whereas a simple &#039;sleep 10&#039; or &#039;100000**100000&#039;  would have sufficed. 

Chris is angry.</description>
		<content:encoded><![CDATA[<p>Having similar problems learning EventMachine.. All the tutorials/examples out there are irrelevant to objects/variables/databases beyond the loop construct. Worse yet there are many that setup echo server &#8216;examples&#8217; without an example client with which to pass data&#8230; So far I&#8217;ve tried 5 different EM &#8220;server&#8221; examples that demonstrate no qualities beyond a simple ruby loop. As if that weren&#8217;t enough, one of the first examples google returns is a script containing characters that ruby cannot interpret. Finally, all of the connection-based examples on blocking loops is todo with (and requires) HTTP, whereas a simple &#8216;sleep 10&#8242; or &#8217;100000**100000&#8242;  would have sufficed. </p>
<p>Chris is angry.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chad</title>
		<link>http://www.mikeperham.com/2009/11/02/eventmachine-examples/comment-page-1/#comment-464</link>
		<dc:creator>Chad</dc:creator>
		<pubDate>Mon, 08 Feb 2010 03:13:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=382#comment-464</guid>
		<description>Mike, I&#039;m working on my own EventMachine based server (http://github.com/chadrem/officer).  I&#039;m just wondering if you have stumbled across any EventMachine based testing tools since writing this.</description>
		<content:encoded><![CDATA[<p>Mike, I&#8217;m working on my own EventMachine based server (<a href="http://github.com/chadrem/officer" rel="nofollow">http://github.com/chadrem/officer</a>).  I&#8217;m just wondering if you have stumbled across any EventMachine based testing tools since writing this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mars</title>
		<link>http://www.mikeperham.com/2009/11/02/eventmachine-examples/comment-page-1/#comment-442</link>
		<dc:creator>Mars</dc:creator>
		<pubDate>Tue, 03 Nov 2009 15:51:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.mikeperham.com/?p=382#comment-442</guid>
		<description>I had a similarly challenging go with EventMachine at Scout Labs. It&#039;s an amazing piece of work. 

The trick was understanding:

- the main EventMachine.run block&#039;s never-exit behavior; to see exceptions, you have to rescue, EventMachine.stop_event_loop, &amp; raise

- that the main run block must return so that events can be processed; I use ProcessChannel.subscribe &amp; push to generate the async calls from the run block

- how to act like a loop inside that main block, since it must return; at the end of each iteration I use EventMachine::Timer to schedule the next iteration

- how to track &amp; limit outstanding events so that my service doesn&#039;t run out of control

*Mars</description>
		<content:encoded><![CDATA[<p>I had a similarly challenging go with EventMachine at Scout Labs. It&#8217;s an amazing piece of work. </p>
<p>The trick was understanding:</p>
<p>- the main EventMachine.run block&#8217;s never-exit behavior; to see exceptions, you have to rescue, EventMachine.stop_event_loop, &amp; raise</p>
<p>- that the main run block must return so that events can be processed; I use ProcessChannel.subscribe &amp; push to generate the async calls from the run block</p>
<p>- how to act like a loop inside that main block, since it must return; at the end of each iteration I use EventMachine::Timer to schedule the next iteration</p>
<p>- how to track &amp; limit outstanding events so that my service doesn&#8217;t run out of control</p>
<p>*Mars</p>
]]></content:encoded>
	</item>
</channel>
</rss>

