XEP-0198: Cosmetic change: Reuse event handler
On stanza queue overflow, pass a message to self() using the exclamation mark operator instead of send_all_state_event/2. This allows for reusing the existing handler for 'kick' events.
This commit is contained in:
parent
99ca8281fa
commit
0cb9ea3643
|
@ -1284,10 +1284,6 @@ wait_for_resume(Event, StateData) ->
|
||||||
%% {next_state, NextStateName, NextStateData, Timeout} |
|
%% {next_state, NextStateName, NextStateData, Timeout} |
|
||||||
%% {stop, Reason, NewStateData}
|
%% {stop, Reason, NewStateData}
|
||||||
%%----------------------------------------------------------------------
|
%%----------------------------------------------------------------------
|
||||||
handle_event({abort, Xmlelement}, _StateName, StateData) ->
|
|
||||||
send_element(StateData, Xmlelement),
|
|
||||||
send_trailer(StateData),
|
|
||||||
{stop, normal, StateData};
|
|
||||||
handle_event(_Event, StateName, StateData) ->
|
handle_event(_Event, StateName, StateData) ->
|
||||||
fsm_next_state(StateName, StateData).
|
fsm_next_state(StateName, StateData).
|
||||||
|
|
||||||
|
@ -2805,7 +2801,7 @@ check_queue_length(#state{mgmt_queue = Queue,
|
||||||
[jlib:jid_to_string(StateData#state.jid)]),
|
[jlib:jid_to_string(StateData#state.jid)]),
|
||||||
Lang = StateData#state.lang,
|
Lang = StateData#state.lang,
|
||||||
Err = ?SERRT_POLICY_VIOLATION(Lang, <<"Too many unacked stanzas">>),
|
Err = ?SERRT_POLICY_VIOLATION(Lang, <<"Too many unacked stanzas">>),
|
||||||
(?GEN_FSM):send_all_state_event(self(), {abort, Err}),
|
self() ! {kick, queue_overflow, Err},
|
||||||
StateData#state{mgmt_resend = false}; % Don't resend the flood!
|
StateData#state{mgmt_resend = false}; % Don't resend the flood!
|
||||||
false ->
|
false ->
|
||||||
StateData
|
StateData
|
||||||
|
|
Loading…
Reference in New Issue