anchor.diff:  
   -record(state, {port, host, socket,message, caller}). % the current socket
   
  --define(TIMEOUT,5000).
  +-define(TIMEOUT,60000).
   
   %% Send a message to all DCs over a tcp connection
   propagate_sync(Message, DCs) ->
  
positive.code:     {stop, normal, StateData};
  
  handle_info(Message, _StateName, StateData) ->
      lager:debug("Unexpected message: ~p",[Message]),
      {stop,badmsg,StateData}.
  
  handle_event(_Event, _StateName, StateData) ->
  
negative.code:                            receive
                                 {done, normal} ->
                                     ok;
                                 {done, Other} ->
                                     lager:error("Send failed Reason:~p Message ~p",[Other, Message]),
                                     {error}
                                     %%TODO: Retry if needed
                             after ?TIMEOUT ->
                                     lager:error("Send failed timeout Message ~p",[Message]),
                                     {error, timeout}
                                     %%TODO: Retry if needed
                             end
  