refactor: made code more readable thanks to suggestion from @zmstone
This commit is contained in:
parent
95891db29a
commit
b16b9d8fcc
|
@ -585,7 +585,7 @@ flush(Data0) ->
|
||||||
?tp(buffer_worker_flush_before_pop, #{}),
|
?tp(buffer_worker_flush_before_pop, #{}),
|
||||||
PopOpts = #{
|
PopOpts = #{
|
||||||
count_limit => BatchSize,
|
count_limit => BatchSize,
|
||||||
stop_before => {fun stop_before_mixed_stop_after_render/2, initial_state}
|
stop_before => {fun stop_batching/2, initial_state}
|
||||||
},
|
},
|
||||||
{Q1, QAckRef, Batch} = replayq:pop(Q0, PopOpts),
|
{Q1, QAckRef, Batch} = replayq:pop(Q0, PopOpts),
|
||||||
Data2 = Data1#{queue := Q1},
|
Data2 = Data1#{queue := Q1},
|
||||||
|
@ -623,72 +623,22 @@ flush(Data0) ->
|
||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
stop_before_mixed_stop_after_render(
|
stop_batching(Query, initial_state) ->
|
||||||
?QUERY(
|
get_stop_flag(Query);
|
||||||
_,
|
stop_batching(Query, PrevStopFlag) ->
|
||||||
_,
|
case get_stop_flag(Query) =:= PrevStopFlag of
|
||||||
_,
|
true ->
|
||||||
_,
|
PrevStopFlag;
|
||||||
#{stop_action_after_render := true} = _TraceCtx
|
false ->
|
||||||
),
|
%% We stop beceause we don't want a batch with mixed values for the
|
||||||
initial_state
|
%% stop_action_after_render option
|
||||||
) ->
|
true
|
||||||
|
end.
|
||||||
|
|
||||||
|
get_stop_flag(?QUERY(_, _, _, _, #{stop_action_after_render := true})) ->
|
||||||
stop_action_after_render;
|
stop_action_after_render;
|
||||||
stop_before_mixed_stop_after_render(
|
get_stop_flag(_) ->
|
||||||
?QUERY(
|
no_stop_action_after_render.
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_TraceCtx
|
|
||||||
),
|
|
||||||
initial_state
|
|
||||||
) ->
|
|
||||||
no_stop_action_after_render;
|
|
||||||
stop_before_mixed_stop_after_render(
|
|
||||||
?QUERY(
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
#{stop_action_after_render := true} = _TraceCtx
|
|
||||||
),
|
|
||||||
no_stop_action_after_render
|
|
||||||
) ->
|
|
||||||
true;
|
|
||||||
stop_before_mixed_stop_after_render(
|
|
||||||
?QUERY(
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
#{stop_action_after_render := true} = _TraceCtx
|
|
||||||
),
|
|
||||||
stop_action_after_render
|
|
||||||
) ->
|
|
||||||
stop_action_after_render;
|
|
||||||
stop_before_mixed_stop_after_render(
|
|
||||||
?QUERY(
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_TraceCtx
|
|
||||||
),
|
|
||||||
stop_action_after_render
|
|
||||||
) ->
|
|
||||||
true;
|
|
||||||
stop_before_mixed_stop_after_render(
|
|
||||||
?QUERY(
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_,
|
|
||||||
_TraceCtx
|
|
||||||
),
|
|
||||||
State
|
|
||||||
) ->
|
|
||||||
State.
|
|
||||||
|
|
||||||
-spec do_flush(data(), #{
|
-spec do_flush(data(), #{
|
||||||
is_batch := boolean(),
|
is_batch := boolean(),
|
||||||
|
|
Loading…
Reference in New Issue