Module ocs_event_log_fsm
Copyright © 2022 - 2026 SigScale Global Inc.
Behaviours: gen_fsm.
statedata() = #statedata{id = string(), profile = atom(), callback = string(), backoff = pos_integer(), reason = term(), options = [{atom(), term()}]}
start_link(Url, Profile, Options) -> Result
- Url = string()
- Profile = httpc:profile()
- Options = [Option]
- Option = {api_type, ApiType} | {backoff, Time}
- ApiType = index_api | http_plugin
- Time = pos_integer()
- Result = {ok, EventLogServer} | {error, Reason}
- EventLogServer = pid()
- Reason = term()
Start a hub fsm
init(Args) -> Result
- Args = list()
- Result = {ok, StateName, StateData} | {ok, StateName, StateData, Timeout} | {ok, StateName, StateData, hibernate} | {stop, Reason} | ignore
- StateName = atom()
- StateData = statedata()
- Timeout = non_neg_integer() | infinity
- Reason = term()
Initialize the ocs_event_log_fsm fsm.
See also: //stdlib/gen_fsm:init/1.
install(Event, StateData) -> Result
- Event = timeout | pos_integer()
- StateData = statedata()
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
- Reason = normal | term()
Handle event received in register state.
installed(Event, StateData) -> Result
- Event = timeout | pos_integer()
- StateData = statedata()
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
- Reason = normal | term()
Handle event received in register state.
backoff(Event, StateData) -> Result
- Event = term()
- StateData = statedata()
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
- Reason = normal | term()
Handle event received in backoff state.
handle_event(Event, StateName, StateData) -> Result
- Event = term()
- StateName = atom()
- StateData = statedata()
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle a request sent using
//stdlib/gen_fsm:send_all_state_event/2.
handle_sync_event(Event, From, StateName, StateData) -> Result
- Event = term()
- From = {Pid, Tag}
- Pid = pid()
- Tag = term()
- StateName = atom()
- StateData = statedata()
- 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()
- 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()
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
- 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()
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()
- Extra = term()
- Result = {ok, NextStateName, NewStateData}
- NextStateName = atom()
- NewStateData = statedata()
Update internal state data during a release upgrade/downgrade.
See also: //stdlib/gen_fsm:code_change/4.
unique() -> Result
- Result = {ID, TS}
- TS = pos_integer()
- ID = string()
Generate a unique identifier.
Generated by EDoc