anchor.diff:  	[exit(Pid,tcp_closed) || {_Id,{_,Pid}} <- get(), is_pid(Pid)],
   	{stop,normal,P};
   handle_info({tcp_closed,_},P) ->
  +	lager:debug("Connection closed type ~p",[P#dp.direction]),
   	{stop,normal,P};
   handle_info(timeout,P) ->
   	case P#dp.callsininterval of
  
positive.code: 	Pid.
  
  -record(dp,{sock,sendproc,calln = 0,callsininterval = 0, callcount = 0,
  			permanent = false, direction,transport,
  			isinit = false, connected_to,tunnelmod, reconnecter}).
  
  handle_call(_Msg,_,#dp{direction = sender, sock = undefined} = P) ->
  
negative.code: init([{From,FromRef},Node]) ->
  	case distreg:reg({bkdcore,Node}) of
  		ok ->
  			case bkdcore:node_address(Node) of
  				{IP,Port} ->
  					case gen_tcp:connect(IP,Port,[{packet,4},{keepalive,true},binary,{active,once},
  													{send_timeout,2000},{nodelay,true}],2000) of
  						{ok,S} ->
  							ok = gen_tcp:send(S,bkdcore:rpccookie(Node)),
  							erlang:send_after(5000,self(),timeout),
  							{ok, #dp{sock = S, direction = sender, connected_to = Node}};
  						_Err ->
  							erlang:send_after(1000,self(),reconnect),
  							{ok,#dp{direction = sender, connected_to = Node}}
  					end;
  				undefined ->
  					lager:error("Node address does not exist ~p",[Node]),
  					{stop,invalidnode}
  			end;
  		name_exists ->
  			From ! {FromRef,name_exists},
  