fixeria submitted this change.

View Change

Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified
erab_fsm: add all-state event handler

This patch prepares for a follow-up commit adding a request
(fetch_info) that must be handled in any state.

Change-Id: I2673f18ddee0f1eee27bb0ed71ca9073d6dea3f2
---
M src/erab_fsm.erl
1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/src/erab_fsm.erl b/src/erab_fsm.erl
index ae661a1..736a2ce 100644
--- a/src/erab_fsm.erl
+++ b/src/erab_fsm.erl
@@ -182,8 +182,7 @@
u2c = U2C}};

erab_wait_setup_req(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state SESSION_ESTABLISH :: PFCP session establishment
@@ -232,8 +231,7 @@
end;

session_establish(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state WAIT_SETUP_RSP :: wait E-RAB SETUP Rsp from access
@@ -253,10 +251,8 @@
S#erab_state{from = From,
u2a = U2A}};

-%% Catch-all handler for this state
erab_wait_setup_rsp(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state SESSION_MODIFY :: PFCP session modification
@@ -293,8 +289,7 @@
end;

session_modify(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state SETUP :: E-RAB is fully setup
@@ -318,10 +313,8 @@
S#erab_state{from = From,
rel_kind = ind}};

-%% Catch-all handler for this state
erab_setup(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state SESSION_DELETE :: PFCP session deletion
@@ -367,8 +360,7 @@
end;

session_delete(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
- {keep_state, S}.
+ handle_event(?FUNCTION_NAME, Event, EventData, S).


%% state WAIT_RELEASE_RSP :: wait E-RAB RELEASE Rsp
@@ -385,9 +377,13 @@
?LOG_DEBUG("Rx E-RAB RELEASE Rsp, we're done"),
{stop, normal}; %% we're done!

-%% Catch-all handler for this state
erab_wait_release_rsp(Event, EventData, S) ->
- ?LOG_ERROR("Unexpected event ~p: ~p", [Event, EventData]),
+ handle_event(?FUNCTION_NAME, Event, EventData, S).
+
+
+%% Event handler for all states
+handle_event(State, Event, EventData, S) ->
+ ?LOG_ERROR("Unexpected event ~p in state ~p: ~p", [Event, State, EventData]),
{keep_state, S}.



To view, visit change 38780. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: erlang/osmo-s1gw
Gerrit-Branch: master
Gerrit-Change-Id: I2673f18ddee0f1eee27bb0ed71ca9073d6dea3f2
Gerrit-Change-Number: 38780
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>