<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -14,7 +14,9 @@
 -define (NBIT, 160). % number of bits in the hash function
 -endif.
 
--define (DEFAULT_CONFIG, []).
+-define (DEFAULT_CONFIG,  [
+                            {comm, chordjerl_com}
+                          ]).
 
 % may merge finger-like attributes into the srv state. Maybe
 % srv_state.finger_of_self?
@@ -27,7 +29,9 @@
     pid,
     ip,
     port,
-    next % the index of the next finger to fix
+    next, % the index of the next finger to fix
+    % Other options
+    comm    % 
   }).
 
 -record(finger, {</diff>
      <filename>include/defines.hrl</filename>
    </modified>
    <modified>
      <diff>@@ -152,9 +152,16 @@ get_finger_ref() -&gt;
 %% Description: Initiates the server
 %%--------------------------------------------------------------------
 init([Config]) -&gt;
+    [Comm] = config:fetch_or_default_config([comm], Config, ?DEFAULT_CONFIG),
     ShaInt = make_sha([]),
     {ok, TRef} = timer:send_interval(timer:minutes(60), run_stabilization_tasks), % stub
-    {ok, #srv_state{sha=ShaInt,pid=self(),predecessor=undefined,next=0,tref=TRef}}.
+    {ok, #srv_state{
+                  sha=ShaInt,
+                  pid=self(),
+                  predecessor=undefined,
+                  next=0,
+                  tref=TRef,
+                  comm=Comm}}.
 
 %%--------------------------------------------------------------------
 %% Function: %% handle_call(Request, From, State) -&gt; {reply, Reply, State} |
@@ -272,14 +279,14 @@ handle_create_ring(State) -&gt;
     NewState = State#srv_state{predecessor=undefined, fingers=[]},
     {ok, NewState}.
 
-handle_join(Finger, State) -&gt;
+handle_join(Finger, #srv_state{comm = Comm} = State) -&gt;
     % ?NTRACE(&quot;handle_join&quot;, [{State#srv_state.pid, State#srv_state.sha}, {joining, Finger#finger.pid} ]),
-    Response = chordjerl_com:send(Finger, {find_successor, State#srv_state.sha}),
+    Response = Comm:send(Finger, {find_successor, State#srv_state.sha}),
     case Response of
         {ok, NewFinger} -&gt; 
             NewFingers   = [NewFinger|State#srv_state.fingers],
             NewState     = State#srv_state{fingers=NewFingers},
-            _Response = chordjerl_com:send(Finger, {joined_by, make_finger_from_self(State)}), % tell the node we joined it
+            _Response = Comm:send(Finger, {joined_by, make_finger_from_self(State)}), % tell the node we joined it
             {ok, NewState};
         _Err -&gt;
             ?NTRACE(&quot;bad response&quot;, Response),
@@ -301,7 +308,7 @@ handle_joined_by(_Finger, State) -&gt;
 %% Description: find the successor of Id
 %% returns in finger format
 %%--------------------------------------------------------------------
-handle_find_successor(Id, State) -&gt; % could use a refactoring...
+handle_find_successor(Id, #srv_state{comm = Comm} = State) -&gt; % could use a refactoring...
     SuccessorFinger = successor(State),
     SuccessorId = SuccessorFinger#finger.sha,
     case ch_id_utils:id_between_oc(State#srv_state.sha, SuccessorId, Id) of
@@ -313,7 +320,7 @@ handle_find_successor(Id, State) -&gt; % could use a refactoring...
              true -&gt; % hmm, suspecious clause here.
                 {{ok, Finger}, State};
              false -&gt;
-                {chordjerl_com:send(Finger, {find_successor, Id}), State}
+                {Comm:send(Finger, {find_successor, Id}), State}
            end
     end.
 
@@ -348,13 +355,13 @@ handle_stabilize(State) -&gt;
 %% Function: handle_stabilize(State, Successor) -&gt; 
 %% Arguments: Successor must not be self as a finger 
 %%--------------------------------------------------------------------
-handle_stabilize(State, Successor) -&gt;
+handle_stabilize(#srv_state{comm = Comm} = State, Successor) -&gt;
 %    ?NTRACE(&quot;stabilizing&quot;, []),
     SuccPred01 = case Successor#finger.sha =:= State#srv_state.sha of
         true -&gt;
             handle_return_predecessor(State);
         false -&gt;
-            chordjerl_com:send(Successor, {return_predecessor})
+            Comm:send(Successor, {return_predecessor})
     end,
 
     SuccPred = case SuccPred01 of
@@ -380,7 +387,7 @@ handle_stabilize(State, Successor) -&gt;
     end,
 
     {SelfAsFinger, _State} = handle_return_finger_ref(State),
-    Response = chordjerl_com:send(RealSuccessor, {claim_to_be_predecessor, SelfAsFinger}),
+    Response = Comm:send(RealSuccessor, {claim_to_be_predecessor, SelfAsFinger}),
     {Response, NewState}.
 
 handle_return_predecessor(State) -&gt;</diff>
      <filename>src/chordjerl_srv.erl</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3efc729a0c5b4a26ed0a865831ae39be5ee5a9c0</id>
    </parent>
  </parents>
  <author>
    <name>Ari Lerner</name>
    <email>alerner@YPCMC05591.local</email>
  </author>
  <url>http://github.com/jashmenn/chordjerl/commit/128349e69631f08032795f64f8e8ea6773f254c1</url>
  <id>128349e69631f08032795f64f8e8ea6773f254c1</id>
  <committed-date>2009-02-27T17:33:00-08:00</committed-date>
  <authored-date>2009-02-27T17:33:00-08:00</authored-date>
  <message>Added comm as an option</message>
  <tree>51ab5e0a67192a5f6d39ce9743885f8f815e3591</tree>
  <committer>
    <name>Ari Lerner</name>
    <email>alerner@YPCMC05591.local</email>
  </committer>
</commit>
