mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
Remove call to queue:len/1
queue:len/1 is O(len(Q)) queue:out/1 is O(1) amortized, O(len(Q)) worst case Replace with a pattern match
This commit is contained in:
parent
0c3cf802b4
commit
697170b496
1 changed files with 5 additions and 6 deletions
|
@ -202,11 +202,10 @@ remove_pid(Pid, Pools, ReqsTable, Queue) ->
|
|||
{Pool, NbConns} = lists:keyfind(Pool, 1, Pools),
|
||||
Pools2 = [{Pool, NbConns - 1}|lists:keydelete(Pool, 1, Pools)],
|
||||
ets:delete(ReqsTable, Pid),
|
||||
case queue:len(Queue) of
|
||||
0 ->
|
||||
{Pools2, Queue};
|
||||
_ ->
|
||||
{{value, Client}, Queue2} = queue:out(Queue),
|
||||
case queue:out(Queue) of
|
||||
{{value, Client}, Queue2} ->
|
||||
gen_server:reply(Client, ok),
|
||||
{Pools2, Queue2}
|
||||
{Pools2, Queue2};
|
||||
_ ->
|
||||
{Pools2, Queue}
|
||||
end.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue