Skip to content

Commit 2c466f3

Browse files
committed
Remove deprecation warnings on latest Elixir
1 parent 95eb7cc commit 2c466f3

File tree

4 files changed

+311
-218
lines changed

4 files changed

+311
-218
lines changed

lib/phoenix/tracker/replica.ex

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,65 +2,71 @@ defmodule Phoenix.Tracker.Replica do
22
@moduledoc false
33
alias Phoenix.Tracker.Replica
44

5-
@type name :: String.t
5+
@type name :: String.t()
66
@type vsn :: integer
77
@type replica_ref :: {name, vsn}
88

99
@type t :: %Replica{
10-
name: name,
11-
vsn: vsn,
12-
last_heartbeat_at: pos_integer | nil,
13-
status: :up | :down | :permdown
14-
}
10+
name: name,
11+
vsn: vsn,
12+
last_heartbeat_at: pos_integer | nil,
13+
status: :up | :down | :permdown
14+
}
1515

1616
defstruct name: nil,
1717
vsn: nil,
1818
last_heartbeat_at: nil,
1919
status: :up
2020

21-
22-
@type op_result :: {%{name => Replica.t}, previous_node :: Replica.t | nil, updated_node :: Replica.t}
21+
@type op_result ::
22+
{%{name => Replica.t()}, previous_node :: Replica.t() | nil,
23+
updated_node :: Replica.t()}
2324

2425
@doc """
2526
Returns a new Replica with a unique vsn.
2627
"""
27-
@spec new(name) :: Replica.t
28+
@spec new(name) :: Replica.t()
2829
def new(name) do
2930
%Replica{name: name, vsn: unique_vsn()}
3031
end
3132

32-
@spec ref(Replica.t) :: replica_ref
33+
@spec ref(Replica.t()) :: replica_ref
3334
def ref(%Replica{name: name, vsn: vsn}), do: {name, vsn}
3435

35-
@spec put_heartbeat(%{name => Replica.t}, replica_ref) :: op_result
36+
@spec put_heartbeat(%{name => Replica.t()}, replica_ref) :: op_result
3637
def put_heartbeat(replicas, {name, vsn}) do
3738
case Map.fetch(replicas, name) do
3839
:error ->
3940
new_replica = touch_last_heartbeat(%Replica{name: name, vsn: vsn, status: :up})
4041
{Map.put(replicas, name, new_replica), nil, new_replica}
4142

4243
{:ok, %Replica{} = prev_replica} ->
43-
updated_replica = touch_last_heartbeat(%Replica{prev_replica | vsn: vsn, status: :up})
44+
updated_replica = touch_last_heartbeat(%{prev_replica | vsn: vsn, status: :up})
4445
{Map.put(replicas, name, updated_replica), prev_replica, updated_replica}
4546
end
4647
end
4748

48-
@spec detect_down(%{name => Replica.t}, Replica.t, pos_integer, pos_integer) :: op_result
49+
@spec detect_down(%{name => Replica.t()}, Replica.t(), pos_integer, pos_integer) :: op_result
4950
def detect_down(replicas, replica, temp_interval, perm_interval, now \\ now_ms()) do
5051
downtime = now - replica.last_heartbeat_at
52+
5153
cond do
52-
downtime > perm_interval -> {Map.delete(replicas, replica.name), replica, permdown(replica)}
54+
downtime > perm_interval ->
55+
{Map.delete(replicas, replica.name), replica, permdown(replica)}
56+
5357
downtime > temp_interval ->
5458
updated_replica = down(replica)
5559
{Map.put(replicas, replica.name, updated_replica), replica, updated_replica}
56-
true -> {replicas, replica, replica}
60+
61+
true ->
62+
{replicas, replica, replica}
5763
end
5864
end
5965

6066
@doc """
6167
Fetches a replica from the map with matching name and version from the ref.
6268
"""
63-
@spec fetch_by_ref(%{name => Replica.t}, replica_ref) :: {:ok, Replica.t} | :error
69+
@spec fetch_by_ref(%{name => Replica.t()}, replica_ref) :: {:ok, Replica.t()} | :error
6470
def fetch_by_ref(replicas, {name, vsn}) do
6571
case Map.fetch(replicas, name) do
6672
{:ok, %Replica{vsn: ^vsn} = replica} -> {:ok, replica}
@@ -69,12 +75,12 @@ defmodule Phoenix.Tracker.Replica do
6975
end
7076
end
7177

72-
defp permdown(replica), do: %Replica{replica | status: :permdown}
78+
defp permdown(%Replica{} = replica), do: %{replica | status: :permdown}
7379

74-
defp down(replica), do: %Replica{replica | status: :down}
80+
defp down(%Replica{} = replica), do: %{replica | status: :down}
7581

76-
defp touch_last_heartbeat(replica) do
77-
%Replica{replica | last_heartbeat_at: now_ms()}
82+
defp touch_last_heartbeat(%Replica{} = replica) do
83+
%{replica | last_heartbeat_at: now_ms()}
7884
end
7985

8086
defp now_ms, do: System.system_time(:millisecond)

0 commit comments

Comments
 (0)