Current section
Files
Jump to
Current section
Files
lib/cassandra/cluster/schema/replication_strategy.ex
defmodule Cassandra.Cluster.Schema.ReplicationStrategy do
alias Cassandra.Cluster.Schema.ReplicationStrategy.{Simple, Local, None}
@default_strategy None
@strategies %{
"org.apache.cassandra.locator.SimpleStrategy" => Simple,
"org.apache.cassandra.locator.LocalStrategy" => Local,
}
def replications(replication, token_ring, schema) do
strategy(replication).replications(replication, token_ring, schema)
end
def strategy(replication) do
class = Map.get(replication, "class")
Map.get(@strategies, class, @default_strategy)
end
end