E.g. compare:
def handle_demand(demand, queue) when demand > 0 do
{events, new_state} =
case :queue.len(queue) > demand do
true ->
{head_queue, tail_queue} = :queue.split(demand, queue)
{:queue.to_list(head_queue), tail_queue}
false ->
{:queue.to_list(queue), :queue.new()}
end
{:noreply, events, new_state}
end
to
def handle_demand(demand, state) when demand > 0 do
{events, new_state} = Enum.split(state, demand)
{:noreply, events, new_state}
end


















