From d2af3f0a606a1c78b87f5c84c15baa6517ba1307 Mon Sep 17 00:00:00 2001 From: hissssst Date: Sat, 16 Nov 2024 21:00:07 +0100 Subject: [PATCH] Deprecates Poolex.get_state in favor of :sys.get_state --- lib/poolex.ex | 29 ++++++----------------------- test/poolex_test.exs | 8 ++++---- 2 files changed, 10 insertions(+), 27 deletions(-) diff --git a/lib/poolex.ex b/lib/poolex.ex index d8b9f39..6ef99b0 100644 --- a/lib/poolex.ex +++ b/lib/poolex.ex @@ -95,7 +95,7 @@ defmodule Poolex do ## Examples iex> Poolex.start(pool_id: :my_pool, worker_module: Agent, worker_args: [fn -> 0 end], workers_count: 5) - iex> %Poolex.Private.State{worker_module: worker_module} = Poolex.get_state(:my_pool) + iex> %Poolex.Private.State{worker_module: worker_module} = :sys.get_state(:my_pool) iex> worker_module Agent """ @@ -119,7 +119,7 @@ defmodule Poolex do ## Examples iex> Poolex.start_link(pool_id: :other_pool, worker_module: Agent, worker_args: [fn -> 0 end], workers_count: 5) - iex> %Poolex.Private.State{worker_module: worker_module} = Poolex.get_state(:other_pool) + iex> %Poolex.Private.State{worker_module: worker_module} = :sys.get_state(:other_pool) iex> worker_module Agent """ @@ -204,23 +204,10 @@ defmodule Poolex do end end - @doc """ - Returns current state of started pool. - - Primarily needed to help with debugging. **Avoid using this function in production.** - - ## Examples - - iex> Poolex.start(pool_id: :my_pool_2, worker_module: Agent, worker_args: [fn -> 0 end], workers_count: 5) - iex> state = %Poolex.Private.State{} = Poolex.get_state(:my_pool_2) - iex> state.worker_module - Agent - iex> is_pid(state.supervisor) - true - """ - @spec get_state(pool_id()) :: State.t() - def get_state(pool_id) do - GenServer.call(pool_id, :get_state) + @deprecated "Use :sys.get_state/1 instead" + @doc false + def get_state(name) do + :sys.get_state(name) end @doc """ @@ -387,10 +374,6 @@ defmodule Poolex do end end - def handle_call(:get_state, _from, state) do - {:reply, state, state} - end - def handle_call(:get_debug_info, _from, %State{} = state) do debug_info = %DebugInfo{ busy_workers_count: BusyWorkers.count(state), diff --git a/test/poolex_test.exs b/test/poolex_test.exs index 3990178..46cff6b 100644 --- a/test/poolex_test.exs +++ b/test/poolex_test.exs @@ -537,7 +537,7 @@ defmodule PoolexTest do pool_name = start_pool(worker_module: SomeWorker, workers_count: 1) pool_pid = Process.whereis(pool_name) - state = Poolex.get_state(pool_name) + state = :sys.get_state(pool_name) supervisor_pid = state.supervisor {:ok, worker_pid} = Poolex.run(pool_name, fn pid -> pid end) @@ -559,7 +559,7 @@ defmodule PoolexTest do pool_name = start_pool(worker_module: SomeWorker, workers_count: 1) pool_pid = Process.whereis(pool_name) - state = Poolex.get_state(pool_name) + state = :sys.get_state(pool_name) supervisor_pid = state.supervisor {:ok, worker_pid} = Poolex.run(pool_name, fn pid -> pid end) @@ -660,7 +660,7 @@ defmodule PoolexTest do ]} ) - state = Poolex.get_state({:global, :biba}) + state = :sys.get_state({:global, :biba}) assert state.pool_id == {:global, :biba} @@ -673,7 +673,7 @@ defmodule PoolexTest do ExUnit.Callbacks.start_supervised({Poolex, [pool_id: name, worker_module: SomeWorker, workers_count: 5]}) - state = Poolex.get_state(name) + state = :sys.get_state(name) assert state.pool_id == name