osmo_dia2gsup: add config option diameter_connect_timer
The diameter_connect_timer can be set to reduce the ttcn3 timing.
Otherwise every test case would need to wait for at least one connect timer period to
succeed.
Related: OS#5657
Change-Id: I669a76022d866824e7b4e9f30dd7e51aa714ae7d
diff --git a/src/osmo_dia2gsup.erl b/src/osmo_dia2gsup.erl
index 90f5ddc..5a817fd 100644
--- a/src/osmo_dia2gsup.erl
+++ b/src/osmo_dia2gsup.erl
@@ -70,10 +70,12 @@
% DIAMETER side
SvcName = ?MODULE,
diameter:start_service(SvcName, ?SERVICE(SvcName)),
+
Ip = application:get_env(osmo_dia2gsup, diameter_ip, "127.0.0.8"),
Port = application:get_env(osmo_dia2gsup, diameter_port, 3868),
Proto = application:get_env(osmo_dia2gsup, diameter_proto, sctp),
- listen({address, Proto, element(2,inet:parse_address(Ip)), Port}),
+ ConnectTimer = application:get_env(osmo_dia2gsup, diameter_connect_timer, 30000),
+ listen(?SVC_NAME, {address, Proto, element(2,inet:parse_address(Ip)), Port}, {timer, ConnectTimer}),
lager:info("Diameter HSS Application started on IP ~s, ~p port ~p~n", [Ip, Proto, Port]),
{ok, State}.
@@ -114,14 +116,12 @@
%% Internal Function Definitions
%% ------------------------------------------------------------------
-listen(Name, {address, Protocol, IPAddr, Port}) ->
+listen(Name, {address, Protocol, IPAddr, Port}, {timer, ConnectTimer}) ->
TransOpts = [{transport_module, tmod(Protocol)},
{transport_config, [{reuseaddr, true},
- {ip, IPAddr}, {port, Port}]}],
+ {ip, IPAddr}, {port, Port}]},
+ {connect_timer, ConnectTimer}],
{ok, _} = diameter:add_transport(Name, {listen, TransOpts}).
-listen(Address) ->
- listen(?SVC_NAME, Address).
-
tmod(tcp) -> diameter_tcp;
tmod(sctp) -> diameter_sctp.