Skip to content

Commit 2c2ea47

Browse files
committed
Encapsulate ExHashRing calls within HashRing
1 parent ee653b8 commit 2c2ea47

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

lib/nebulex/adapters/redis/client_side_cluster/hash_ring.ex

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,33 @@ defmodule Nebulex.Adapters.Redis.ClientSideCluster.HashRing do
1111

1212
@doc false
1313
defdelegate find_node(ring, key), to: ExHashRing.Ring
14+
15+
@doc false
16+
defdelegate add_node(ring, node_name, replicas), to: ExHashRing.Ring
17+
18+
@doc false
19+
defdelegate get_replicas, to: ExHashRing.Configuration
1420
else
1521
@doc false
1622
def child_spec(_ring_name) do
17-
raise ":ex_hash_ring dependency is required to use :client_side_cluster mode"
23+
raise err_msg()
1824
end
1925

2026
@doc false
2127
def find_node(_ring, _key) do
22-
raise ":ex_hash_ring dependency is required to use :client_side_cluster mode"
28+
raise err_msg()
2329
end
30+
31+
@doc false
32+
def add_node(_ring, _node_name, _replicas) do
33+
raise err_msg()
34+
end
35+
36+
@doc false
37+
def get_replicas do
38+
raise err_msg()
39+
end
40+
41+
defp err_msg, do: ":ex_hash_ring dependency is required to use :client_side_cluster mode"
2442
end
2543
end

lib/nebulex/adapters/redis/client_side_cluster/node_supervisor.ex

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ defmodule Nebulex.Adapters.Redis.ClientSideCluster.NodeSupervisor do
22
@moduledoc false
33
use Supervisor
44

5-
alias ExHashRing.{Configuration, Ring}
6-
alias Nebulex.Adapters.Redis.ClientSideCluster.PoolSupervisor
5+
alias Nebulex.Adapters.Redis.ClientSideCluster.{HashRing, PoolSupervisor}
76

87
## API
98

@@ -26,10 +25,10 @@ defmodule Nebulex.Adapters.Redis.ClientSideCluster.NodeSupervisor do
2625

2726
{replicas, node_opts} =
2827
Keyword.pop_lazy(node_opts, :ch_ring_replicas, fn ->
29-
Configuration.get_replicas()
28+
HashRing.get_replicas()
3029
end)
3130

32-
{:ok, _} = Ring.add_node(ring, node_name, replicas)
31+
_ignore = HashRing.add_node(ring, node_name, replicas)
3332

3433
node_opts =
3534
node_opts

0 commit comments

Comments
 (0)