Current section
Files
Jump to
Current section
Files
lib/presence_ex/utils.ex
defmodule PresenceEx.Utils do
@moduledoc false
alias PresenceEx.Utils.Murmur
alias PresenceEx.Config
def prefix(schema_id) when is_integer(schema_id) do
"public_#{schema_id}"
end
def prefix(user_id) do
"public_#{assign_partition_with_key(user_id)}"
end
def all_schema_ids do
1..Config.schemas()
end
defp assign_partition_with_key(key) do
key
|> Murmur.umurmur2()
|> rem(Config.schemas())
|> Kernel.+(1)
end
end