class Mongo::Cluster::Topology::Single

Defines behaviour for when a cluster is in single topology.

@since 2.0.0

Constants

NAME

The display name for the topology.

@since 2.0.0

Attributes

seed[R]

@return [ String ] seed The seed address.

Public Class Methods

new(options, seeds = []) click to toggle source

Initialize the topology with the options.

@example Initialize the topology.

Single.new(options)

@param [ Hash ] options The options.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 65
def initialize(options, seeds = [])
  @options = options
  @seed = seeds.first
end

Public Instance Methods

add_hosts?(description, servers) click to toggle source

Whether a server description's hosts may be added to the cluster.

@example Check if a description's hosts may be added to the cluster.

topology.add_hosts?(description, servers)

@param [ Mongo::Server::Description ] description The description. @param [ Array<Mongo::Server> ] servers The cluster servers.

@return [ false ] A description's hosts are never added to a

cluster of Single topology.

@since 2.0.6

# File lib/mongo/cluster/topology/single.rb, line 116
def add_hosts?(description, servers); false; end
display_name() click to toggle source

Get the display name.

@example Get the display name.

Single.display_name

@return [ String ] The display name.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 40
def display_name
  NAME
end
elect_primary(description, servers) click to toggle source

Elect a primary server within this topology.

@example Elect a primary server.

topology.elect_primary(description, servers)

@param [ Server::Description ] description The description of the

elected primary.

@param [ Array<Server> ] servers The list of known servers to the

cluster.

@return [ Single ] The topology.

# File lib/mongo/cluster/topology/single.rb, line 55
def elect_primary(description, servers); self; end
remove_hosts?(description) click to toggle source

Whether a description can be used to remove hosts from the cluster.

@example Check if a description can be used to remove hosts from the cluster.

topology.remove_hosts?(description)

@param [ Mongo::Server::Description ] description The description.

@return [ true ] A description can never be used to remove hosts

from a cluster of Single topology.

@since 2.0.6

# File lib/mongo/cluster/topology/single.rb, line 130
def remove_hosts?(description); false; end
remove_server?(description, server) click to toggle source

Whether a specific server in the cluster can be removed, given a description.

@example Check if a specific server can be removed from the cluster.

topology.remove_server?(description, server)

@param [ Mongo::Server::Description ] description The description. @param [ Mongo::Serve ] server The server in question.

@return [ false ] A server is never removed from a cluster of Single topology.

@since 2.0.6

# File lib/mongo/cluster/topology/single.rb, line 143
def remove_server?(description, server); false; end
replica_set?() click to toggle source

A single topology is not a replica set.

@example Is the topology a replica set?

Single.replica_set?

@return [ false ] Always false.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 78
def replica_set?; false; end
replica_set_name() click to toggle source

Single topologies have no replica set name.

@example Get the replica set name.

single.replica_set_name

@return [ nil ] Always nil.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 88
def replica_set_name; nil; end
servers(servers, name = nil) click to toggle source

Select appropriate servers for this topology.

@example Select the servers.

Single.servers(servers, 'test')

@param [ Array<Server> ] servers The known servers.

@return [ Array<Server> ] The single servers.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 100
def servers(servers, name = nil)
  [ servers.detect { |server| !server.unknown? } ]
end
sharded?() click to toggle source

A single topology is not sharded.

@example Is the topology sharded?

Single.sharded?

@return [ false ] Always false.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 153
def sharded?; false; end
single?() click to toggle source

A single topology is single.

@example Is the topology single?

Single.single?

@return [ true ] Always true.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 163
def single?; true; end
standalone_discovered() click to toggle source

Notify the topology that a standalone was discovered.

@example Notify the topology that a standalone was discovered.

topology.standalone_discovered

@return [ Topology::Single ] Always returns self.

@since 2.0.6

# File lib/mongo/cluster/topology/single.rb, line 183
def standalone_discovered; self; end
unknown?() click to toggle source

An single topology is not unknown.

@example Is the topology unknown?

Single.unknown?

@return [ false ] Always false.

@since 2.0.0

# File lib/mongo/cluster/topology/single.rb, line 173
def unknown?; false; end