<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/ebin/eunit/autoload.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/code_monitor.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_autoexport.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_data.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_lib.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_proc.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_serial.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_server.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_striptests.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_test.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_tests.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/eunit_tty.beam</filename>
    </added>
    <added>
      <filename>src/ebin/eunit/file_monitor.beam</filename>
    </added>
    <added>
      <filename>src/etest/membership_test.erl</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1 +1,3 @@
-This is dynamite
+This is dynomite.  It is a clone of the amazon dynamo key value store written in Erlang.
+
+http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
\ No newline at end of file</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,7 @@
 %%% @since 2008-03-30 by Cliff Moon
 %%%-------------------------------------------------------------------
 -module(membership).
--author('').
+-author('Cliff Moon').
 
 -behaviour(gen_server).
 
@@ -25,9 +25,9 @@
 
 -record(membership, {hash_ring, member_table}).
 
-%testing
-% -compile(export_all).
-
+-ifdef(TEST).
+-include(&quot;etest/membership_test.erl&quot;).
+-endif.
 
 %%====================================================================
 %% API
@@ -62,10 +62,7 @@ server_for_key(Key) -&gt;
 %% @end 
 %%--------------------------------------------------------------------
 init([]) -&gt;
-		VirtualNodes = virtual_nodes(node()),
-		Table = map_nodes_to_table(VirtualNodes, node(), dict:new()),
-		HashRing = add_nodes_to_ring(VirtualNodes, []),
-    {ok, #membership{hash_ring = HashRing, member_table = Table}}.
+		{ok, create_membership_state([node()])}.
 
 %%--------------------------------------------------------------------
 %% @spec 
@@ -131,6 +128,19 @@ code_change(_OldVsn, State, _Extra) -&gt;
 %%--------------------------------------------------------------------
 %%% Internal functions
 %%--------------------------------------------------------------------
+
+create_membership_state(Nodes) -&gt;
+	create_membership_state(Nodes, [], dict:new()).
+
+create_membership_state([], HashRing, Table) -&gt;
+	{ok, #membership{hash_ring=HashRing,member_table=Table}};
+
+create_membership_state([Node|Tail], HashRing, Table) -&gt;
+	VirtualNodes = virtual_nodes(Node),
+	create_membership_state(Tail,
+		add_nodes_to_ring(VirtualNodes, HashRing),
+		map_nodes_to_table(VirtualNodes, Node, Table)).
+
 int_join_ring(Node, State) -&gt;
 	case dict:is_key(Node, State#membership.member_table) of
 		true -&gt; {reply, duplicate, State};
@@ -177,4 +187,12 @@ nearest_server(Code, [ServerKey|Tail]) -&gt;
 		false -&gt; nearest_server(Code, Tail)
 	end;
 
-nearest_server(_Code, []) -&gt; first.
\ No newline at end of file
+nearest_server(_Code, []) -&gt; first.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TESTES
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% int_join_ring_test() -&gt;
+% 	State = create_membership_state([one, two, three]).
+	</diff>
      <filename>src/elibs/membership.erl</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>src/ebin/eunit/eunit/autoload.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/code_monitor.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_autoexport.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_data.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_lib.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_proc.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_serial.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_server.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_striptests.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_test.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_tests.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/eunit_tty.beam</filename>
    </removed>
    <removed>
      <filename>src/ebin/eunit/eunit/file_monitor.beam</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>3d9bc9a4ddff875bf24f4359f61eaf504028c681</id>
    </parent>
  </parents>
  <author>
    <name>Cliff Moon</name>
    <email>cliff@galva.desk.hq.powerset.com</email>
  </author>
  <url>http://github.com/cliffmoon/dynomite/commit/c7a7de6629e89a2d2b9c552cca42b4dd621805c6</url>
  <id>c7a7de6629e89a2d2b9c552cca42b4dd621805c6</id>
  <committed-date>2008-04-02T11:48:42-07:00</committed-date>
  <authored-date>2008-04-02T11:48:42-07:00</authored-date>
  <message>fixes to bad beam path for eunit</message>
  <tree>f0e3e8eb56b4545db867eb6d2585310c3904ae6c</tree>
  <committer>
    <name>Cliff Moon</name>
    <email>cliff@galva.desk.hq.powerset.com</email>
  </committer>
</commit>
