anchor.diff:      put(sent,   N2),
       case Ret of
   	ok ->
  -	    receive after 1 -> ok end,
  +	    receive
  +                {info_and_die, Info} ->
  +                    {PortStatus, SockStat, SockStatus} = Info(),
  +                    ?P("[sink-loop] info and die: "
  +                       "~n   Port Status:   ~p"
  +                       "~n   Socket Stats:  ~p"
  +                       "~n   Socket Status: ~p",
  +                       [PortStatus, SockStat, SockStatus]),
  +                    exit(normal)
  +            after 1 -> ok
  +            end,
   	    timeout_sink_loop(Action, N+1);
   	Other ->
               ?P("[sink-loop] action result: "
  
positive.code:                 ?P("[para] timeout received from sender 2 (~p, ~p)", [Snd2, N]),
                  2
          after 20000 ->
                  ?P("[para] UNEXPECTED timeout(1,~w) when:"
                     "~n   Sender 1 Info: ~p"
                     "~n   Sender 2 Info: ~p"
                     "~n   Message Queue: ~p",
                     [AutoClose,
                      (catch process_info(Snd1)),
                      (catch process_info(Snd2)),
                      flush([])]),
                  exit({timeout, AutoClose})
          end,
      
  
negative.code: 			Send = fun() -> gen_tcp:send(A, BinData) end,
  			Self ! {self(), timeout_sink_loop(Send)}
  		end,
      Info = fun() ->
                     {(catch erlang:port_info(A)),
                      (catch inet:getstat(A)),
                      (catch prim_inet:getstatus(A))}
             end,
      ?P("[para] spawn process 1 with sender fun"),
      Snd1 = spawn_link(SenderFun),
      ?P("[para] spawn process 2 with sender fun"),
  