Skip to content

Commit b36c8b6

Browse files
author
José Valim
committed
Use alias instead of import
1 parent 1011a3d commit b36c8b6

File tree

2 files changed

+40
-36
lines changed

2 files changed

+40
-36
lines changed

lib/gen_stage.ex

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1637,7 +1637,7 @@ defmodule GenStage do
16371637

16381638
## Callbacks
16391639

1640-
import GenStage.Utils
1640+
require GenStage.Utils, as: Utils
16411641
@compile :inline_list_funcs
16421642

16431643
@doc false
@@ -1673,12 +1673,14 @@ defmodule GenStage do
16731673
end
16741674

16751675
defp init_producer(mod, opts, state) do
1676-
with {:ok, dispatcher_mod, dispatcher_state, opts} <- validate_dispatcher(opts),
1676+
with {:ok, dispatcher_mod, dispatcher_state, opts} <- init_dispatcher(opts),
16771677
{:ok, buffer_size, opts} <-
1678-
validate_integer(opts, :buffer_size, 10000, 0, :infinity, true),
1679-
{:ok, buffer_keep, opts} <- validate_in(opts, :buffer_keep, :last, [:first, :last]),
1680-
{:ok, demand, opts} <- validate_in(opts, :demand, :forward, [:accumulate, :forward]),
1681-
:ok <- validate_no_opts(opts) do
1678+
Utils.validate_integer(opts, :buffer_size, 10000, 0, :infinity, true),
1679+
{:ok, buffer_keep, opts} <-
1680+
Utils.validate_in(opts, :buffer_keep, :last, [:first, :last]),
1681+
{:ok, demand, opts} <-
1682+
Utils.validate_in(opts, :demand, :forward, [:accumulate, :forward]),
1683+
:ok <- Utils.validate_no_opts(opts) do
16821684
stage = %GenStage{
16831685
mod: mod,
16841686
state: state,
@@ -1696,7 +1698,7 @@ defmodule GenStage do
16961698
end
16971699
end
16981700

1699-
defp validate_dispatcher(opts) do
1701+
defp init_dispatcher(opts) do
17001702
case Keyword.pop(opts, :dispatcher, GenStage.DemandDispatcher) do
17011703
{dispatcher, opts} when is_atom(dispatcher) ->
17021704
{:ok, dispatcher_state} = dispatcher.init([])
@@ -1713,12 +1715,13 @@ defmodule GenStage do
17131715
end
17141716

17151717
defp init_producer_consumer(mod, opts, state) do
1716-
with {:ok, dispatcher_mod, dispatcher_state, opts} <- validate_dispatcher(opts),
1717-
{:ok, subscribe_to, opts} <- validate_list(opts, :subscribe_to, []),
1718+
with {:ok, dispatcher_mod, dispatcher_state, opts} <- init_dispatcher(opts),
1719+
{:ok, subscribe_to, opts} <- Utils.validate_list(opts, :subscribe_to, []),
17181720
{:ok, buffer_size, opts} <-
1719-
validate_integer(opts, :buffer_size, :infinity, 0, :infinity, true),
1720-
{:ok, buffer_keep, opts} <- validate_in(opts, :buffer_keep, :last, [:first, :last]),
1721-
:ok <- validate_no_opts(opts) do
1721+
Utils.validate_integer(opts, :buffer_size, :infinity, 0, :infinity, true),
1722+
{:ok, buffer_keep, opts} <-
1723+
Utils.validate_in(opts, :buffer_keep, :last, [:first, :last]),
1724+
:ok <- Utils.validate_no_opts(opts) do
17221725
stage = %GenStage{
17231726
mod: mod,
17241727
state: state,
@@ -1737,8 +1740,8 @@ defmodule GenStage do
17371740
end
17381741

17391742
defp init_consumer(mod, opts, state) do
1740-
with {:ok, subscribe_to, opts} <- validate_list(opts, :subscribe_to, []),
1741-
:ok <- validate_no_opts(opts) do
1743+
with {:ok, subscribe_to, opts} <- Utils.validate_list(opts, :subscribe_to, []),
1744+
:ok <- Utils.validate_no_opts(opts) do
17421745
stage = %GenStage{mod: mod, state: state, type: :consumer}
17431746
consumer_init_subscribe(subscribe_to, stage)
17441747
else
@@ -1819,7 +1822,7 @@ defmodule GenStage do
18191822

18201823
def handle_info({:"$gen_producer", _, _} = msg, %{type: :consumer} = stage) do
18211824
error_msg = 'GenStage consumer ~tp received $gen_producer message: ~tp~n'
1822-
:error_logger.error_msg(error_msg, [self_name(), msg])
1825+
:error_logger.error_msg(error_msg, [Utils.self_name(), msg])
18231826
{:noreply, stage}
18241827
end
18251828

@@ -1830,7 +1833,7 @@ defmodule GenStage do
18301833
case consumers do
18311834
%{^ref => _} ->
18321835
error_msg = 'GenStage producer ~tp received duplicated subscription from: ~tp~n'
1833-
:error_logger.error_msg(error_msg, [self_name(), from])
1836+
:error_logger.error_msg(error_msg, [Utils.self_name(), from])
18341837

18351838
msg = {:"$gen_consumer", {self(), ref}, {:cancel, :duplicated_subscription}}
18361839
send_noconnect(consumer_pid, msg)
@@ -1877,7 +1880,7 @@ defmodule GenStage do
18771880

18781881
def handle_info({:"$gen_consumer", _, _} = msg, %{type: :producer} = stage) do
18791882
error_msg = 'GenStage producer ~tp received $gen_consumer message: ~tp~n'
1880-
:error_logger.error_msg(error_msg, [self_name(), msg])
1883+
:error_logger.error_msg(error_msg, [Utils.self_name(), msg])
18811884
{:noreply, stage}
18821885
end
18831886

@@ -2066,7 +2069,7 @@ defmodule GenStage do
20662069

20672070
defp producer_demand(_mode, %{type: type} = stage) when type != :producer do
20682071
error_msg = 'Demand mode can only be set for producers, GenStage ~tp is a ~ts'
2069-
:error_logger.error_msg(error_msg, [self_name(), type])
2072+
:error_logger.error_msg(error_msg, [Utils.self_name(), type])
20702073
{:noreply, stage}
20712074
end
20722075

@@ -2189,7 +2192,7 @@ defmodule GenStage do
21892192
error_msg =
21902193
'GenStage consumer ~tp cannot dispatch events (an empty list must be returned): ~tp~n'
21912194

2192-
:error_logger.error_msg(error_msg, [self_name(), events])
2195+
:error_logger.error_msg(error_msg, [Utils.self_name(), events])
21932196
stage
21942197
end
21952198

@@ -2288,7 +2291,7 @@ defmodule GenStage do
22882291

22892292
excess ->
22902293
error_msg = 'GenStage producer ~tp has discarded ~tp events from buffer'
2291-
:error_logger.warning_msg(error_msg, [self_name(), excess])
2294+
:error_logger.warning_msg(error_msg, [Utils.self_name(), excess])
22922295
end
22932296

22942297
stage = %{stage | buffer: {queue, counter, infos}}
@@ -2427,7 +2430,7 @@ defmodule GenStage do
24272430
end
24282431

24292432
defp consumer_receive({_, ref} = from, {producer_id, cancel, {demand, min, max}}, events, stage) do
2430-
{demand, batches} = split_batches(events, from, min, max, demand)
2433+
{demand, batches} = Utils.split_batches(events, from, min, max, demand)
24312434
stage = put_in(stage.producers[ref], {producer_id, cancel, {demand, min, max}})
24322435
{batches, stage}
24332436
end
@@ -2471,15 +2474,16 @@ defmodule GenStage do
24712474

24722475
defp consumer_subscribe(_cancel, to, _opts, %{type: :producer} = stage) do
24732476
error_msg = 'GenStage producer ~tp cannot be subscribed to another stage: ~tp~n'
2474-
:error_logger.error_msg(error_msg, [self_name(), to])
2477+
:error_logger.error_msg(error_msg, [Utils.self_name(), to])
24752478
{:reply, {:error, :not_a_consumer}, stage}
24762479
end
24772480

24782481
defp consumer_subscribe(current, to, opts, stage) do
2479-
with {:ok, cancel, _} <-
2480-
validate_in(opts, :cancel, :permanent, [:temporary, :transient, :permanent]),
2481-
{:ok, max, _} <- validate_integer(opts, :max_demand, 1000, 1, :infinity, false),
2482-
{:ok, min, _} <- validate_integer(opts, :min_demand, div(max, 2), 0, max - 1, false) do
2482+
with {:ok, max, _} <- Utils.validate_integer(opts, :max_demand, 1000, 1, :infinity, false),
2483+
{:ok, min, _} <-
2484+
Utils.validate_integer(opts, :min_demand, div(max, 2), 0, max - 1, false),
2485+
{:ok, cancel, _} <-
2486+
Utils.validate_in(opts, :cancel, :permanent, [:temporary, :transient, :permanent]) do
24832487
producer_pid = GenServer.whereis(to)
24842488

24852489
cond do
@@ -2498,7 +2502,7 @@ defmodule GenStage do
24982502
else
24992503
{:error, message} ->
25002504
error_msg = 'GenStage consumer ~tp subscribe received invalid option: ~ts~n'
2501-
:error_logger.error_msg(error_msg, [self_name(), message])
2505+
:error_logger.error_msg(error_msg, [Utils.self_name(), message])
25022506
{:reply, {:error, {:bad_opts, message}}, stage}
25032507
end
25042508
end
@@ -2559,11 +2563,11 @@ defmodule GenStage do
25592563
case noreply_callback(:handle_cancel, [kind_reason, pid_ref, state], stage) do
25602564
{:noreply, stage}
25612565
when mode == :permanent
2562-
when mode == :transient and not is_transient_shutdown(reason) ->
2566+
when mode == :transient and not Utils.is_transient_shutdown(reason) ->
25632567
error_msg =
25642568
'GenStage consumer ~tp is stopping after receiving cancel from producer ~tp with reason: ~tp~n'
25652569

2566-
:error_logger.info_msg(error_msg, [self_name(), pid, reason])
2570+
:error_logger.info_msg(error_msg, [Utils.self_name(), pid, reason])
25672571
{:stop, reason, stage}
25682572

25692573
other ->

lib/gen_stage/stream.ex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
defmodule GenStage.Stream do
22
@moduledoc false
33

4-
import GenStage.Utils
4+
require GenStage.Utils, as: Utils
55

66
def build(subscriptions, options) do
77
subscriptions = :lists.map(&stream_validate_opts/1, subscriptions)
@@ -14,10 +14,10 @@ defmodule GenStage.Stream do
1414
end
1515

1616
defp stream_validate_opts({to, opts}) when is_list(opts) do
17-
with {:ok, cancel, _} <-
18-
validate_in(opts, :cancel, :permanent, [:temporary, :transient, :permanent]),
19-
{:ok, max, _} <- validate_integer(opts, :max_demand, 1000, 1, :infinity, false),
20-
{:ok, min, _} <- validate_integer(opts, :min_demand, div(max, 2), 0, max - 1, false) do
17+
with {:ok, max, _} <- Utils.validate_integer(opts, :max_demand, 1000, 1, :infinity, false),
18+
{:ok, min, _} <- Utils.validate_integer(opts, :min_demand, div(max, 2), 0, max - 1, false),
19+
{:ok, cancel, _} <-
20+
Utils.validate_in(opts, :cancel, :permanent, [:temporary, :transient, :permanent]) do
2121
{to, cancel, min, max, opts}
2222
else
2323
{:error, message} ->
@@ -172,7 +172,7 @@ defmodule GenStage.Stream do
172172
case subscriptions do
173173
%{^inner_ref => {:subscribed, producer_pid, cancel, min, max, demand}} ->
174174
from = {producer_pid, ref}
175-
{demand, batches} = split_batches(events, from, min, max, demand)
175+
{demand, batches} = Utils.split_batches(events, from, min, max, demand)
176176
subscribed = {:subscribed, producer_pid, cancel, min, max, demand}
177177

178178
deliver_stream(
@@ -248,7 +248,7 @@ defmodule GenStage.Stream do
248248
case subscriptions do
249249
%{^inner_ref => {_, _, cancel, _, _, _}}
250250
when cancel == :permanent
251-
when cancel == :transient and not is_transient_shutdown(reason) ->
251+
when cancel == :transient and not Utils.is_transient_shutdown(reason) ->
252252
Process.demonitor(inner_ref, [:flush])
253253
{:halt, {:exit, reason, monitor_pid, monitor_ref, Map.delete(subscriptions, inner_ref)}}
254254

0 commit comments

Comments
 (0)