<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,8 +2,7 @@
 ## 
 ## Requires json (sudo gem install json)
 ## Usage:
-## feedback = Feedback.new
-## feedback.receive
+## devices = Feedback.receive
 ##
 ## Copyright (c) 2009 Jonathan George (jonathan@jdg.net)
 ##
@@ -32,16 +31,23 @@ class Feedback
 
   def self.receive
     socket, ssl = ssl_connection
-    buffer = ''
 
-    while (!ssl.eof?)
-      buffer += ssl.read
+    devices = []
+
+    while data = socket.read(76)
+      next if data.size &lt; 76
+      timestamp, token_length, device_token = data.unpack('N1n1H140')
+      devices &lt;&lt; { :timestamp =&gt; timestamp, :device_token =&gt; device_token}
     end
 
-    # Need to do something with 'buffer' now.
+    puts &quot;Devices: &quot; if devices.any?
+    devices.each do |device|
+      puts &quot;\t#{device[:device_token]}&quot;
+    end
 
     ssl.close
     socket.close
+    return devices
   rescue SocketError =&gt; error
     raise &quot;Error while receieving feedback: #{error}&quot;
 </diff>
      <filename>feedback.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6450d84dda0675b57a09a5266d4c677db50823f4</id>
    </parent>
  </parents>
  <author>
    <name>Jonathan George</name>
    <email>jonathan@jdg.net</email>
  </author>
  <url>http://github.com/jdg/Feedback/commit/a7cde772da2515a71f2aea5d2150c6402ba6dc54</url>
  <id>a7cde772da2515a71f2aea5d2150c6402ba6dc54</id>
  <committed-date>2009-07-02T01:02:39-07:00</committed-date>
  <authored-date>2009-07-02T01:02:39-07:00</authored-date>
  <message>Actually read data from the feedback service and parse it.</message>
  <tree>d237c918077b422ef437e2024630e6c3a7a501df</tree>
  <committer>
    <name>Jonathan George</name>
    <email>jonathan@jdg.net</email>
  </committer>
</commit>
