]> Entropealabs - cluster_kv.git/commitdiff
default timeouts for calls
authorChristopher <chris@entropealabs.com>
Sun, 8 Mar 2020 01:22:50 +0000 (19:22 -0600)
committerChristopher <chris@entropealabs.com>
Sun, 8 Mar 2020 01:22:50 +0000 (19:22 -0600)
lib/cluster_kv.ex
lib/cluster_kv/ring.ex

index a8a42fd4afb993627384b7d52bcea982c796b1f0..d00aac0c00ff56bd364907df21448c52bb0a92ad 100644 (file)
@@ -42,10 +42,12 @@ defmodule ClusterKV do
   def ring_name(name), do: Module.concat([name, Ring])
   def cluster_supervisor_name(name), do: Module.concat([name, ClusterSupervisor])
 
-  defdelegate get(name, key), to: Ring
+  defdelegate get(name, key, timeout \\ :infinity), to: Ring
   defdelegate put(name, key, value), to: Ring
   defdelegate put_wildcard(name, header, key, value, split_on, join, wildcard), to: Ring
-  defdelegate prefix(name, key, split_on, min), to: Ring
-  defdelegate stream(name), to: Ring
-  defdelegate wildcard(name, header, key, split_on, join, wildcard), to: Ring
+  defdelegate prefix(name, key, split_on, min, timeout \\ :infinity), to: Ring
+  defdelegate stream(name, timeout \\ :infinity), to: Ring
+
+  defdelegate wildcard(name, header, key, split_on, join, wildcard, timeout \\ :infinity),
+    to: Ring
 end
index 9d9726c8e675a575319ad09b39278bb3d9f966fc..b22deba0298a16232358d7ff3cf03adce0ce25bc 100644 (file)
@@ -55,23 +55,24 @@ defmodule ClusterKV.Ring do
     )
   end
 
-  def get(name, key, timeout \\ 5000) do
+  def get(name, key, timeout) do
     :gen_statem.call(ClusterKV.ring_name(name), {:get, key}, timeout)
   end
 
-  def prefix(name, key, split_on, min) do
-    :gen_statem.call(ClusterKV.ring_name(name), {:prefix, key, split_on, min})
+  def prefix(name, key, split_on, min, timeout) do
+    :gen_statem.call(ClusterKV.ring_name(name), {:prefix, key, split_on, min}, timeout)
   end
 
-  def wildcard(name, header, key, split_on, join, wildcard) do
+  def wildcard(name, header, key, split_on, join, wildcard, timeout) do
     :gen_statem.call(
       ClusterKV.ring_name(name),
-      {:wildcard, header, key, split_on, join, wildcard}
+      {:wildcard, header, key, split_on, join, wildcard},
+      timeout
     )
   end
 
-  def stream(name) do
-    :gen_statem.call(ClusterKV.ring_name(name), :stream)
+  def stream(name, timeout) do
+    :gen_statem.call(ClusterKV.ring_name(name), :stream, timeout)
   end
 
   def handle_resource(@handle_init, _, @init, %SL{data: %Ring{} = data} = sl) do