From 5856f6d06a24962b23ddb3ba8759d804df57c4df Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Wed, 1 Jul 2015 21:15:05 +0200 Subject: [PATCH 1/2] XEP-0198: Increase default "max_ack_queue" value During login, clients might receive a relatively large number of stanzas in one go. For some users, the default value of the "max_ack_queue" option turned out to be too small in that situation. --- src/ejabberd_c2s.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 3869bd54e..2494fb228 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -308,7 +308,7 @@ init([{SockMod, Socket}, Opts]) -> MaxAckQueue = case proplists:get_value(max_ack_queue, Opts) of Limit when is_integer(Limit), Limit > 0 -> Limit; infinity -> infinity; - _ -> 500 + _ -> 1000 end, ResumeTimeout = case proplists:get_value(resume_timeout, Opts) of Timeout when is_integer(Timeout), Timeout >= 0 -> Timeout; From b7d7dc5201868be6631f8d11c64b0b544dd7172a Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Wed, 1 Jul 2015 21:37:06 +0200 Subject: [PATCH 2/2] XEP-0198: Increase timeout during resumption Give gen_fsm:sync_send_all_state_event/3 a little more time to transfer the (possibly somewhat large) c2s #state during session resumption. --- src/ejabberd_c2s.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 2494fb228..f982f9115 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -3010,7 +3010,7 @@ inherit_session_state(#state{user = U, server = S} = StateData, ResumeID) -> end. resume_session({Time, PID}) -> - (?GEN_FSM):sync_send_all_state_event(PID, {resume_session, Time}, 3000). + (?GEN_FSM):sync_send_all_state_event(PID, {resume_session, Time}, 5000). make_resume_id(StateData) -> {Time, _} = StateData#state.sid,