fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40902?usp=email )
Change subject: pfcp_peer: add fetch_info/0 ...................................................................... pfcp_peer: add fetch_info/0 Change-Id: I3fdcf7f6daac09a8c523826995a610c04f5a327b --- M src/pfcp_peer.erl 1 file changed, 26 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/02/40902/1 diff --git a/src/pfcp_peer.erl b/src/pfcp_peer.erl index a7e9515..ff3cfce 100644 --- a/src/pfcp_peer.erl +++ b/src/pfcp_peer.erl @@ -48,6 +48,7 @@ session_establish_req/3, session_modify_req/3, session_delete_req/1, + fetch_info/0, shutdown/0]). -include_lib("kernel/include/logger.hrl"). @@ -69,7 +70,14 @@ -type pfcp_msg() :: {pfcp_msg_type(), pfcp_ies()}. -type pfcp_pdu() :: #pfcp{}. --export_type([pfcp_session_rsp/0, +-type peer_info() :: #{state := atom(), + laddr := inet:ip_address(), + raddr := inet:ip_address(), + lrts := pos_integer(), + rrts => pos_integer()}. + +-export_type([peer_info/0, + pfcp_session_rsp/0, pfcp_msg_type/0, pfcp_seq_nr/0, pfcp_seid/0, @@ -139,6 +147,11 @@ gen_statem:call(?MODULE, {?FUNCTION_NAME, SEID}). +-spec fetch_info() -> peer_info(). +fetch_info() -> + gen_statem:call(?MODULE, ?FUNCTION_NAME). + + shutdown() -> gen_statem:stop(?MODULE). @@ -339,6 +352,18 @@ S1 = registry_del({Pid, Ref}, S0), {keep_state, S1}; +handle_event(State, + {call, From}, fetch_info, + #peer_state{} = S) -> + Info = #{state => State, + laddr => S#peer_state.loc_addr, + raddr => S#peer_state.rem_addr, + lrts => S#peer_state.loc_rts, + rrts => S#peer_state.rem_rts}, + %% omit props with Value =:= undefined + Reply = maps:filter(fun(_K, V) -> V =/= undefined end, Info), + {keep_state_and_data, {reply, From, Reply}}; + handle_event(State, Event, EventData, S) -> ?LOG_ERROR("Unexpected event ~p in state ~p: ~p", [Event, State, EventData]), {keep_state, S}. -- To view, visit https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/40902?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: erlang/osmo-s1gw Gerrit-Branch: master Gerrit-Change-Id: I3fdcf7f6daac09a8c523826995a610c04f5a327b Gerrit-Change-Number: 40902 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanits...@sysmocom.de>