]> granicus.if.org Git - ejabberd/commitdiff
XEP-0198: Cosmetic change: Reuse event handler
authorHolger Weiss <holger@zedat.fu-berlin.de>
Wed, 28 May 2014 09:24:38 +0000 (11:24 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Wed, 28 May 2014 09:24:38 +0000 (11:24 +0200)
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.

src/ejabberd_c2s.erl

index 1263af5b3298b826ed5918e97b3badd4457c607f..0f4700838f96d9bda49edbb0fb1347fd296e520a 100644 (file)
@@ -1284,10 +1284,6 @@ wait_for_resume(Event, StateData) ->
 %%          {next_state, NextStateName, NextStateData, Timeout} |
 %%          {stop, Reason, NewStateData}
 %%----------------------------------------------------------------------
-handle_event({abort, Xmlelement}, _StateName, StateData) ->
-    send_element(StateData, Xmlelement),
-    send_trailer(StateData),
-    {stop, normal, StateData};
 handle_event(_Event, 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)]),
          Lang = StateData#state.lang,
          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!
       false ->
          StateData