fixeria has submitted this change. (
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/38788?usp=email )
Change subject: sctp_server: cosmetic: make #server_state last argument
......................................................................
sctp_server: cosmetic: make #server_state last argument
Make it consistent with the gen_server and gen_statem API.
Change-Id: I34bcdb818f58ccfa045d9fe17743523480e785f2
---
M src/sctp_server.erl
1 file changed, 18 insertions(+), 16 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
fixeria: Looks good to me, approved
diff --git a/src/sctp_server.erl b/src/sctp_server.erl
index 3c7917e..938b02a 100644
--- a/src/sctp_server.erl
+++ b/src/sctp_server.erl
@@ -123,14 +123,14 @@
%% Handle SCTP events coming from gen_sctp module
handle_info({sctp, _Socket, FromAddr, FromPort, {AncData, Data}}, S0) ->
- S1 = sctp_recv(S0, {FromAddr, FromPort, AncData, Data}),
+ S1 = sctp_recv({FromAddr, FromPort, AncData, Data}, S0),
{noreply, S1};
%% Handle termination events of the child processes
handle_info({'EXIT', Pid, Reason},
#server_state{sock = Sock, clients = Clients} = S0) ->
?LOG_DEBUG("Child process ~p terminated with reason ~p", [Pid, Reason]),
- case client_find(S0, Pid) of
+ case client_find(Pid, S0) of
{ok, {Aid, _Client}} ->
%% gracefully close the eNB connection
gen_sctp:eof(Sock, #sctp_assoc_change{assoc_id = Aid}),
@@ -157,14 +157,14 @@
%% ------------------------------------------------------------------
%% Handle an #sctp_assoc_change event (connection state)
-sctp_recv(S, {FromAddr, FromPort, [],
- #sctp_assoc_change{state = ConnState,
- assoc_id = Aid}}) ->
+sctp_recv({FromAddr, FromPort, [],
+ #sctp_assoc_change{state = ConnState,
+ assoc_id = Aid}},
+ #server_state{priv = Priv} = S) ->
case ConnState of
comm_up ->
?LOG_NOTICE("eNB connection (id=~p, ~p:~p) established", [Aid,
FromAddr, FromPort]),
- Clients = client_add(S#server_state.clients, Aid, FromAddr, FromPort,
- S#server_state.priv);
+ Clients = client_add(S#server_state.clients, Aid, FromAddr, FromPort, Priv);
shutdown_comp ->
?LOG_NOTICE("eNB connection (id=~p, ~p:~p) closed", [Aid, FromAddr,
FromPort]),
Clients = client_del(S#server_state.clients, Aid);
@@ -179,11 +179,12 @@
S#server_state{clients = Clients};
%% Handle an #sctp_sndrcvinfo event (incoming data)
-sctp_recv(S, {FromAddr, FromPort,
- [#sctp_sndrcvinfo{assoc_id = Aid}], Data}) ->
+sctp_recv({FromAddr, FromPort,
+ [#sctp_sndrcvinfo{assoc_id = Aid}], Data},
+ #server_state{clients = Clients} = S) ->
?LOG_DEBUG("eNB connection (id=~p, ~p:~p) -> MME: ~p", [Aid, FromAddr,
FromPort, Data]),
s1gw_metrics:ctr_inc(?S1GW_CTR_S1AP_ENB_ALL_RX),
- case dict:find(Aid, S#server_state.clients) of
+ case dict:find(Aid, Clients) of
{ok, #client_state{pid = Pid}} ->
sctp_proxy:send_data(Pid, Data);
error ->
@@ -194,7 +195,8 @@
S;
%% Catch-all for other kinds of SCTP events
-sctp_recv(S, {FromAddr, FromPort, AncData, Data}) ->
+sctp_recv({FromAddr, FromPort, AncData, Data},
+ #server_state{} = S) ->
?LOG_DEBUG("Unhandled SCTP event (~p:~p): ~p, ~p",
[FromAddr, FromPort, AncData, Data]),
S.
@@ -223,18 +225,18 @@
%% Find a client by process ID
-client_find(#server_state{clients = Clients}, Pid) ->
- client_find(dict:to_list(Clients), Pid);
+client_find(Pid, #server_state{clients = Clients}) ->
+ client_find(Pid, dict:to_list(Clients));
-client_find([{Aid, Client} | Clients], Pid) ->
+client_find(Pid, [{Aid, Client} | Clients]) ->
case Client of
#client_state{pid = Pid} ->
{ok, {Aid, Client}};
_ ->
- client_find(Clients, Pid)
+ client_find(Pid, Clients)
end;
-client_find([], _Pid) ->
+client_find(_Pid, []) ->
error.
--
To view, visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/38788?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I34bcdb818f58ccfa045d9fe17743523480e785f2
Gerrit-Change-Number: 38788
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>