Packages

A client for managing the connection to a Redis Cluster using Redix as a client.

Current section

Files

Jump to
redix_cluster_remastered lib redix_cluster error.ex
Raw

lib/redix_cluster/error.ex

defmodule RedixCluster.Error do
@moduledoc """
## RedixCluster.Error
All errors that are returned by the RedixCluster package.
"""
defexception [:message]
def exception(reason) when is_binary(reason), do: %__MODULE__{message: reason}
def exception(:no_connection), do: %__MODULE__{message: "can't connection with redis"}
def exception(:invalid_cluster_command), do: %__MODULE__{message: "invalid_cluster_command"}
def exception(:key_must_same_slot),
do: %__MODULE__{message: "CROSSSLOT Keys in request don't hash to the same slot"}
def exception(:no_support_transaction),
do: %__MODULE__{message: "cluster pipeline don't support MULTI, using transation"}
def exception(other) when is_atom(other), do: %Redix.Error{message: :inet.format_error(other)}
@type t :: %__MODULE__{message: binary} | %Redix.Error{message: binary}
end