Skip to content

Commit 65ae76a

Browse files
authored
Merge pull request #4544 from esl/strip-buffered-acc
Strip Acc when it is buffered to save memory
2 parents dd0d681 + 5ac8c43 commit 65ae76a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/stream_management/mod_stream_management.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ handle_buffer_and_ack(Acc, C2SState, Jid, #sm_state{buffer = Buffer, buffer_max
263263
[]
264264
end,
265265
Acc1 = notify_unacknowledged_msg_if_in_resume_state(Acc, Jid, C2SState),
266-
NewSmState = SmState#sm_state{buffer = [Acc1 | Buffer], buffer_size = NewBufferSize},
266+
NewSmState = SmState#sm_state{buffer = [mongoose_acc:strip(Acc1) | Buffer], buffer_size = NewBufferSize},
267267
ToAcc = [{actions, MaybeActions}, {state_mod, {?MODULE, NewSmState}}],
268268
Acc2 = mongoose_c2s_acc:to_acc_many(Acc1, ToAcc),
269269
maybe_send_ack_request(Acc2, C2SState, NewSmState).
@@ -882,7 +882,7 @@ recover_messages(SmState) ->
882882

883883
-spec maybe_buffer_acc(sm_state(), mongoose_acc:t(), boolean()) -> sm_state().
884884
maybe_buffer_acc(#sm_state{buffer = Buffer, buffer_size = BufferSize} = SmState, Acc, true) ->
885-
SmState#sm_state{buffer = [Acc | Buffer], buffer_size = BufferSize + 1};
885+
SmState#sm_state{buffer = [mongoose_acc:strip(Acc) | Buffer], buffer_size = BufferSize + 1};
886886
maybe_buffer_acc(SmState, _Acc, false) ->
887887
SmState.
888888

0 commit comments

Comments
 (0)