Module ocs_diameter_auth_service_fsm
This gen_fsm behaviour callback
module implements functions to subscribe to a diameter
service and to react to events sent by diameter service.
Copyright © 2016 - 2026 SigScale Global Inc.
Behaviours: gen_fsm.
References
This gen_fsm behaviour callback
module implements functions to subscribe to a diameter
service and to react to events sent by diameter service.
init(Args) -> Result
- Args = list()
- Result = {ok, StateName, StateData} | {ok, StateName, StateData, Timeout} | {ok, StateName, StateData, hibernate} | {stop, Reason} | ignore
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = term()
Initialize the ocs_diameter_auth_service_fsm finite state machine.
See also: //stdlib/gen_fsm:init/1.
wait_for_start(Event, StateData) -> Result
- Event = timeout | term()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle events sent with gen_fsm:send_event/2 in the wait_for_start state.
@see //stdlib/gen_fsm:StateName/2
started(Event, StateData) -> Result
- Event = timeout | term()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle events sent with gen_fsm:send_event/2 in the started state.
@see //stdlib/gen_fsm:StateName/2
wait_for_stop(Event, StateData) -> Result
- Event = timeout | term()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle events sent with gen_fsm:send_event/2 in the wait_for_stop state.
@see //stdlib/gen_fsm:StateName/2
handle_event(Event, StateName, StateData) -> Result
- Event = term()
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle an event sent with
gen_fsm:send_all_state_event/2.
See also: //stdlib/gen_fsm:handle_event/3.
handle_sync_event(Event, From, StateName, StateData) -> Result
- Event = term()
- From = {Pid::pid(), Tag::term()}
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {reply, Reply, NextStateName, NewStateData} | {reply, Reply, NextStateName, NewStateData, Timeout} | {reply, Reply, NextStateName, NewStateData, hibernate} | {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, Reply, NewStateData} | {stop, Reason, NewStateData}
- Reply = term()
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle an event sent with
gen_fsm:sync_send_all_state_event/2,3.
See also: //stdlib/gen_fsm:handle_sync_event/4.
handle_info(Info, StateName, StateData) -> Result
- Info = term()
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle a received message.
See also: //stdlib/gen_fsm:handle_info/3.
terminate(Reason, StateName, StateData) -> any()
- Reason = normal | shutdown | term()
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
Cleanup and exit.
See also: //stdlib/gen_fsm:terminate/3.
code_change(OldVsn, StateName, StateData, Extra) -> Result
- OldVsn = term() | {down, Vsn::term()}
- StateName = atom()
- StateData = #statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}
- Extra = term()
- Result = {ok, NextStateName::atom(), NewStateData::#statedata{transport_ref = undefined | reference(), address = inet:ip_address(), port = inet:port_number(), options = list()}}
Update internal state data during a release upgrade/downgrade.
See also: //stdlib/gen_fsm:code_change/4.
split_options(Options) -> Result
Split Options list into transport and service options.
Generated by EDoc