module Mongo::Cluster::Topology

Defines behaviour for getting servers.

@since 2.0.0

Constants

OPTIONS

The various topologies for server selection.

@since 2.0.0

Public Instance Methods

initial(seeds, monitoring, options) click to toggle source

Get the initial cluster topology for the provided options.

@example Get the initial cluster topology.

Topology.initial(topology: :replica_set)

@param [ Array<String> ] seeds The addresses of the configured servers. @param [ Monitoring ] monitoring The monitoring. @param [ Hash ] options The cluster options.

@return [ ReplicaSet, Sharded, Single ] The topology.

@since 2.0.0

# File lib/mongo/cluster/topology.rb, line 50
def initial(seeds, monitoring, options)
  if options.has_key?(:connect)
    OPTIONS.fetch(options[:connect]).new(options, monitoring, seeds)
  elsif options.has_key?(:replica_set)
    ReplicaSet.new(options, monitoring, options)
  else
    Unknown.new(options, monitoring, seeds)
  end
end