<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,5 +21,6 @@ lib/pandemic/util.rb
 lib/pandemic.rb
 Manifest
 MIT-LICENSE
+pandemic.gemspec
 Rakefile
 README.markdown</diff>
      <filename>Manifest</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 # Pandemic
-Pandemic is a map-reduce framework. You give it the map, process, and reduce methods and it handles the rest. It's designed to serve requests in real-time, but can also be used for offline tasks.
+Pandemic is a map-reduce-ish framework. It allows you to partition requests and distribute them as you please, then process the request (or parts of it) on any number of nodes, and then reduce the response however you please. It's designed to serve requests in real-time, but can also be used for offline tasks.
 
-It's different from the typical map-reduce framework in that it doesn't have a master-worker structure. Every node can map, process, and reduce. It also doesn't have the concept of jobs, everything is a request.
+It's different from the typical map-reduce framework in that it doesn't have a master-worker structure. Every node does can do everything. It's actually not strictly a map-reduce framework, it's a bit more lenient on what you can do to your data/request other than map and reduce.
 
 The framework is designed to be as flexible as possible, there is no rigid request format, or API, you can specify it however you want. You can send it http-style headers and a body, you can send it JSON, or you can even just send it a single line and have it do whatever you want. The only requirement is that you write your handler to appropriately act on the request and return the response.
 
@@ -21,9 +21,9 @@ The framework is designed to be as flexible as possible, there is no rigid reque
     pandemic_server.handler = Handler # Pandemic will call the initializer once per process
     pandemic_server.start.join
 
-In this example, the handler doesn't define the map or reduce methods, and the defaults are used. The default for each is as follows:
+In this example, the handler doesn't define the partition or reduce methods, and the defaults are used. The default for each is as follows:
 
-  * map: Send the full request body to every connected node
+  * partition: Send the full request body to every connected node
   * process: Return the body (do nothing)
   * reduce: Concatenate all the responses
 
@@ -117,6 +117,8 @@ The servers are going to try to bind to localhost:4000 and localhost:4001 so mak
 By default, the handler runs in the same Ruby process as Pandemic. By setting the fork\_for\_processor to true in pandemic\_server.yml, you can have Pandemic fork to new processes to run the process method. This is particularly useful when your process method goes to MySQL which locks the entire process until MySQL returns.
 
 ## Change History
+Version 0.3.1
+ * Changed map to partition to more accurately reflect what it does. This breaks backwards compatibility, but all you have to do is rename your method.
 Version 0.3.0
 
  * Pandemic can now fork to call the process method</diff>
      <filename>README.markdown</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@ require 'pandemic'
 require 'json'
 
 class WordCounter &lt; Pandemic::ServerSide::Handler
-  def map(request, servers)
+  def partition(request, servers)
     # select only the alive servers (non-disconnected)
     only_alive = servers.keys.select{|k| servers[k] != :disconnected}
     </diff>
      <filename>examples/server/word_count_server.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,8 +4,8 @@ module Pandemic
       def config
         Config
       end
-        
-      def map(request, servers)
+      
+      def partition(request, servers)
         map = {}
         servers.each do |server, status|
           if status != :disconnected</diff>
      <filename>lib/pandemic/server_side/handler.rb</filename>
    </modified>
    <modified>
      <diff>@@ -115,7 +115,7 @@ module Pandemic
     
       def handle_client_request(request)
         info(&quot;Handling client request&quot;)
-        map = @handler_instance.map(request, connection_statuses)
+        map = @handler_instance.partition(request, connection_statuses)
         request.max_responses = map.size
         debug(&quot;Sending client request to #{map.size} handlers (#{request.hash})&quot;)
         </diff>
      <filename>lib/pandemic/server_side/server.rb</filename>
    </modified>
    <modified>
      <diff>@@ -6,23 +6,22 @@ Gem::Specification.new do |s|
 
   s.required_rubygems_version = Gem::Requirement.new(&quot;&gt;= 1.2&quot;) if s.respond_to? :required_rubygems_version=
   s.authors = [&quot;Arya Asemanfar&quot;]
-  s.date = %q{2009-05-27}
+  s.date = %q{2009-06-18}
   s.description = %q{Distribute MapReduce to any of the workers and it will spread, like a pandemic.}
   s.email = %q{aryaasemanfar@gmail.com}
   s.extra_rdoc_files = [&quot;lib/pandemic/client_side/cluster_connection.rb&quot;, &quot;lib/pandemic/client_side/config.rb&quot;, &quot;lib/pandemic/client_side/connection.rb&quot;, &quot;lib/pandemic/client_side/connection_proxy.rb&quot;, &quot;lib/pandemic/client_side/pandemize.rb&quot;, &quot;lib/pandemic/connection_pool.rb&quot;, &quot;lib/pandemic/mutex_counter.rb&quot;, &quot;lib/pandemic/server_side/client.rb&quot;, &quot;lib/pandemic/server_side/config.rb&quot;, &quot;lib/pandemic/server_side/handler.rb&quot;, &quot;lib/pandemic/server_side/peer.rb&quot;, &quot;lib/pandemic/server_side/processor.rb&quot;, &quot;lib/pandemic/server_side/request.rb&quot;, &quot;lib/pandemic/server_side/server.rb&quot;, &quot;lib/pandemic/util.rb&quot;, &quot;lib/pandemic.rb&quot;, &quot;README.markdown&quot;]
-  s.files = [&quot;examples/client/client.rb&quot;, &quot;examples/client/constitution.txt&quot;, &quot;examples/client/pandemic_client.yml&quot;, &quot;examples/server/pandemic_server.yml&quot;, &quot;examples/server/word_count_server.rb&quot;, &quot;lib/pandemic/client_side/cluster_connection.rb&quot;, &quot;lib/pandemic/client_side/config.rb&quot;, &quot;lib/pandemic/client_side/connection.rb&quot;, &quot;lib/pandemic/client_side/connection_proxy.rb&quot;, &quot;lib/pandemic/client_side/pandemize.rb&quot;, &quot;lib/pandemic/connection_pool.rb&quot;, &quot;lib/pandemic/mutex_counter.rb&quot;, &quot;lib/pandemic/server_side/client.rb&quot;, &quot;lib/pandemic/server_side/config.rb&quot;, &quot;lib/pandemic/server_side/handler.rb&quot;, &quot;lib/pandemic/server_side/peer.rb&quot;, &quot;lib/pandemic/server_side/processor.rb&quot;, &quot;lib/pandemic/server_side/request.rb&quot;, &quot;lib/pandemic/server_side/server.rb&quot;, &quot;lib/pandemic/util.rb&quot;, &quot;lib/pandemic.rb&quot;, &quot;Manifest&quot;, &quot;MIT-LICENSE&quot;, &quot;Rakefile&quot;, &quot;README.markdown&quot;, &quot;pandemic.gemspec&quot;, &quot;test/client_test.rb&quot;, &quot;test/connection_pool_test.rb&quot;, &quot;test/functional_test.rb&quot;, &quot;test/handler_test.rb&quot;, &quot;test/mutex_counter_test.rb&quot;, &quot;test/peer_test.rb&quot;, &quot;test/processor_test.rb&quot;, &quot;test/server_test.rb&quot;, &quot;test/test_helper.rb&quot;, &quot;test/util_test.rb&quot;]
-  s.has_rdoc = true
+  s.files = [&quot;examples/client/client.rb&quot;, &quot;examples/client/constitution.txt&quot;, &quot;examples/client/pandemic_client.yml&quot;, &quot;examples/server/pandemic_server.yml&quot;, &quot;examples/server/word_count_server.rb&quot;, &quot;lib/pandemic/client_side/cluster_connection.rb&quot;, &quot;lib/pandemic/client_side/config.rb&quot;, &quot;lib/pandemic/client_side/connection.rb&quot;, &quot;lib/pandemic/client_side/connection_proxy.rb&quot;, &quot;lib/pandemic/client_side/pandemize.rb&quot;, &quot;lib/pandemic/connection_pool.rb&quot;, &quot;lib/pandemic/mutex_counter.rb&quot;, &quot;lib/pandemic/server_side/client.rb&quot;, &quot;lib/pandemic/server_side/config.rb&quot;, &quot;lib/pandemic/server_side/handler.rb&quot;, &quot;lib/pandemic/server_side/peer.rb&quot;, &quot;lib/pandemic/server_side/processor.rb&quot;, &quot;lib/pandemic/server_side/request.rb&quot;, &quot;lib/pandemic/server_side/server.rb&quot;, &quot;lib/pandemic/util.rb&quot;, &quot;lib/pandemic.rb&quot;, &quot;Manifest&quot;, &quot;MIT-LICENSE&quot;, &quot;pandemic.gemspec&quot;, &quot;Rakefile&quot;, &quot;README.markdown&quot;, &quot;test/client_test.rb&quot;, &quot;test/connection_pool_test.rb&quot;, &quot;test/functional_test.rb&quot;, &quot;test/handler_test.rb&quot;, &quot;test/mutex_counter_test.rb&quot;, &quot;test/peer_test.rb&quot;, &quot;test/processor_test.rb&quot;, &quot;test/server_test.rb&quot;, &quot;test/test_helper.rb&quot;, &quot;test/util_test.rb&quot;]
   s.homepage = %q{https://github.com/arya/pandemic/}
   s.rdoc_options = [&quot;--line-numbers&quot;, &quot;--inline-source&quot;, &quot;--title&quot;, &quot;Pandemic&quot;, &quot;--main&quot;, &quot;README.markdown&quot;]
   s.require_paths = [&quot;lib&quot;]
   s.rubyforge_project = %q{pandemic}
-  s.rubygems_version = %q{1.3.1}
+  s.rubygems_version = %q{1.3.4}
   s.summary = %q{Distribute MapReduce to any of the workers and it will spread, like a pandemic.}
   s.test_files = [&quot;test/client_test.rb&quot;, &quot;test/connection_pool_test.rb&quot;, &quot;test/functional_test.rb&quot;, &quot;test/handler_test.rb&quot;, &quot;test/mutex_counter_test.rb&quot;, &quot;test/peer_test.rb&quot;, &quot;test/processor_test.rb&quot;, &quot;test/server_test.rb&quot;, &quot;test/test_helper.rb&quot;, &quot;test/util_test.rb&quot;]
 
   if s.respond_to? :specification_version then
     current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
-    s.specification_version = 2
+    s.specification_version = 3
 
     if Gem::Version.new(Gem::RubyGemsVersion) &gt;= Gem::Version.new('1.2.0') then
       s.add_development_dependency(%q&lt;shoulda&gt;, [&quot;&gt;= 0&quot;])</diff>
      <filename>pandemic.gemspec</filename>
    </modified>
    <modified>
      <diff>@@ -21,7 +21,7 @@ class HandlerTest &lt; Test::Unit::TestCase
     
     should &quot;map to all non-disconnected nodes&quot; do
       @request.expects(:body).twice.returns(&quot;123&quot;)
-      map = @handler.map(@request, @servers)
+      map = @handler.partition(@request, @servers)
       # see setup for @servers
       assert_equal 2, map.size
       assert_equal &quot;123&quot;, map[1]</diff>
      <filename>test/handler_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -94,7 +94,7 @@ class ServerTest &lt; Test::Unit::TestCase
       request = mock()
       request.expects(:hash).at_least_once.returns(&quot;abcddef134123&quot;)
       @peer.expects(:connected?).returns(true)
-      handler.expects(:map).with(request, is_a(Hash)).returns({&quot;localhost:4000&quot; =&gt; &quot;1&quot;, &quot;localhost:4001&quot; =&gt; &quot;2&quot;})
+      handler.expects(:partition).with(request, is_a(Hash)).returns({&quot;localhost:4000&quot; =&gt; &quot;1&quot;, &quot;localhost:4001&quot; =&gt; &quot;2&quot;})
       request.expects(:max_responses=).with(2)
       @peer.expects(:client_request).with(request, &quot;2&quot;)
       </diff>
      <filename>test/server_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>52aa963b0ce0ac8d2c13a63c01b8915fa2d376ac</id>
    </parent>
  </parents>
  <author>
    <name>Arya Asemanfar</name>
    <email>arya.asemanfar@gmail.com</email>
  </author>
  <url>http://github.com/arya/pandemic/commit/b239dc3da32d7af06e3427decf8a67e9bb709810</url>
  <id>b239dc3da32d7af06e3427decf8a67e9bb709810</id>
  <committed-date>2009-06-18T22:20:27-07:00</committed-date>
  <authored-date>2009-06-18T22:20:27-07:00</authored-date>
  <message>renamed map to partition because i'm a noob</message>
  <tree>e7fdec410376af4d84c4145bb7bf832af53e9167</tree>
  <committer>
    <name>Arya Asemanfar</name>
    <email>arya.asemanfar@gmail.com</email>
  </committer>
</commit>
