<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>spec/transport/xhr_stream_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -7,7 +7,7 @@ task :default =&gt; :spec
 
 Spec::Rake::SpecTask.new do |t|
   t.spec_opts = %w(-fs -c)
-  t.spec_files = FileList[&quot;spec/**_spec.rb&quot;]
+  t.spec_files = FileList[&quot;spec/**/*_spec.rb&quot;]
 end
 
 task :client do</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,4 @@
 require &quot;eventmachine&quot;
-require &quot;amqp&quot;
-require &quot;mq&quot;
 
 require &quot;pusher/version&quot;
 require &quot;pusher/app&quot;</diff>
      <filename>lib/pusher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,19 @@
+require &quot;amqp&quot;
+require &quot;mq&quot;
+
 module Pusher
   class Channel
     def initialize(id)
       @id = id
       @mq = MQ.new
       @topic = @mq.topic(&quot;pusher&quot;)
-    end
-    
-    def key
-      &quot;channel.#{@id}&quot;
+      @key = &quot;channel.#{@id}&quot;
     end
     
     def subscribe(session_id, transport)
-      queue = @mq.queue(&quot;#{key}.#{session_id}&quot;)
+      queue = @mq.queue(&quot;#{@key}.#{session_id}&quot;)
 
-      queue.bind(@topic, :key =&gt; key).subscribe do |message|
+      queue.bind(@topic, :key =&gt; @key).subscribe do |message|
         transport.write message
       end
 
@@ -22,7 +22,7 @@ module Pusher
     end
     
     def publish(message)
-      @topic.publish(message, :routing_key =&gt; key)
+      @topic.publish(message, :routing_key =&gt; @key)
     end
   end
 end
\ No newline at end of file</diff>
      <filename>lib/pusher/channel.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,16 @@
 class DeferrableBody
   include EM::Deferrable
   
+  attr_reader :queue
+  
   def initialize
     @queue = []
   end
   
+  def closed?
+    !!@deferred_status
+  end
+  
   def schedule_dequeue
     return unless @body_callback
     EM.next_tick do</diff>
      <filename>lib/pusher/deferrable_body.rb</filename>
    </modified>
    <modified>
      <diff>@@ -27,6 +27,10 @@ module Pusher
         renderer.errback(&amp;block)
       end
       
+      def closed?
+        renderer.closed?
+      end
+      
       Backends = {}
       
       def self.register(name)</diff>
      <filename>lib/pusher/transport/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,12 @@ require 'spec'
 $:.unshift File.dirname(__FILE__) + &quot;/../lib&quot;
 require &quot;pusher&quot;
 
+# Try installing em-spec from http://github.com/macournoyer/em-spec
+# if this doesn't work
+require 'em/spec'
+require 'em/spec/rspec'
+EM.spec_backend = EM::Spec::Rspec
+
 module Helpers
 end
 </diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0b49aaa69c4edc8e1d85fe38e029879a4ff6a116</id>
    </parent>
  </parents>
  <author>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </author>
  <url>http://github.com/macournoyer/pusher/commit/efa57b72cde296024070eb3e8fe17e572ee9ed1d</url>
  <id>efa57b72cde296024070eb3e8fe17e572ee9ed1d</id>
  <committed-date>2009-05-27T18:10:38-07:00</committed-date>
  <authored-date>2009-05-27T18:10:38-07:00</authored-date>
  <message>Add specs for XhrStream transport</message>
  <tree>f625b47f757cc242b57a6885249cc77a29111db1</tree>
  <committer>
    <name>macournoyer</name>
    <email>macournoyer@gmail.com</email>
  </committer>
</commit>
