Current section

Files

Jump to
cassandra lib cassandra cluster schema replication_strategy.ex
Raw

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