class DCell::Registry::CassandraAdapter

Constants

DEFAULT_CF
DEFAULT_KEYSPACE

Public Class Methods

new(options) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 34
def initialize(options)
  # Convert all options to symbols :/
  options = options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h }

  keyspace = options[:keyspace] || DEFAULT_KEYSPACE
  columnfamily = options[:columnfamily] || DEFAULT_CF

  options[:servers] ||= []
  options[:servers] << options[:server] if options[:server]
  options[:servers] << "localhost:9160" unless options[:servers].any?

  cass = Cassandra.new(keyspace, options[:servers])

  @node_registry   = NodeRegistry.new(cass, columnfamily)
  @global_registry = GlobalRegistry.new(cass, columnfamily)
end

Public Instance Methods

clear_all_nodes() click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 55
def clear_all_nodes
  @node_registry.clear_all
end
clear_globals() click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 59
def clear_globals
  @global_registry.clear_all
end
get_global(key) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 121
def get_global(key);        @global_registry.get(key) end
get_node(node_id) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 90
def get_node(node_id);       @node_registry.get(node_id) end
global_keys() click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 123
def global_keys;            @global_registry.global_keys end
nodes() click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 92
def nodes;                   @node_registry.nodes end
remove_node(node) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 51
def remove_node(node)
  @node_registry.remove node
end
set_global(key, value) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 122
def set_global(key, value); @global_registry.set(key, value) end
set_node(node_id, addr) click to toggle source
# File lib/dcell/registries/cassandra_adapter.rb, line 91
def set_node(node_id, addr); @node_registry.set(node_id, addr) end