anchor.diff:      CompSpec = rvi_common:get_component_specification(),
       {ok, BertOpts } = rvi_common:get_module_config(data_link, 
   						   ?MODULE, 
  -						   bert_rpc_server, 
  +						   server_opts, 
   						   [], 
   						   CompSpec),
       IP = proplists:get_value(ip, BertOpts, ?DEFAULT_BERT_RPC_ADDRESS),
  
positive.code:     ok.
  
  availability_msg(Availability, Services) ->
      {struct, [{"availability", atom_to_list(Availability)},
  	      {"services", {array, Services}}]}.
  
  handle_availability_msg(Msg, FromPid, IP, Port, TID, CompSpec) ->
      {ok, Avail} = rvi_common:get_json_element(["availability"], Msg),
      {ok, Svcs} = rvi_common:get_json_element(["services"], Msg),
      ?debug("dlink_tcp:service_announce(~p): Address:       ~p:~p", [Avail,IP,Port]),
      ?debug("dlink_tcp:service_announce(~p): TransactionID: ~p", [Avail,TID]),
      ?debug("dlink_tcp:service_announce(~p): Services:      ~p", [Avail,Svcs]),
      case Avail of
  	"available" ->
  	    add_services(Svcs, FromPid),    
  	    service_discovery_rpc:register_services(CompSpec, Svcs, ?MODULE);
  	"unavailable" ->
  	    delete_services(FromPid, Svcs),
  	    service_discovery_rpc:unregister_services(CompSpec, Svcs, ?MODULE)
      end,
  
negative.code: 
  -include_lib("lager/include/log.hrl").
  -include_lib("rvi_common/include/rvi_common.hrl").
  -include_lib("rvi_common/include/rvi_dlink.hrl").
  
  -define(PERSISTENT_CONNECTIONS, persistent_connections).
  -define(DEFAULT_BERT_RPC_PORT, 9999).
  -define(DEFAULT_RECONNECT_INTERVAL, 5000).
  -define(DEFAULT_BERT_RPC_ADDRESS, "0.0.0.0").
  -define(DEFAULT_PING_INTERVAL, 300000).  %% Five minutes
  -define(SERVER, ?MODULE).
  -define(DLINK_TCP_VERSION, "1.0").
  
  -define(CONNECTION_TABLE, rvi_dlink_tcp_connections).
  -define(SERVICE_TABLE, rvi_dlink_tcp_services).
  