-define(PRODUCE_ASYNC , produce_async).
-record(state,
- { consumers = ordsets:new() :: ordsets:ordset(pid())
- , deltas_server :: beam_stats_delta:t()
+ { consumers = ordsets:new() :: ordsets:ordset(pid())
+ , deltas_server :: beam_stats_delta:t()
}).
-type state() ::
state().
produce(
#state
- { consumers = ConsumersSet
+ { consumers = ConsumersSet
, deltas_server = DeltasServer
}=State,
MsgSendFun
ConsumersList = ordsets:to_list(ConsumersSet),
Send = fun (Consumer) -> MsgSendFun(Consumer, Stats) end,
ok = lists:foreach(Send, ConsumersList),
+ beam_stats_delta:gc(DeltasServer),
State.
-spec schedule_first_production() ->