Class: Mongo::ServerSelector::Primary

Inherits:
Object
  • Object
show all
Includes:
Selectable
Defined in:
lib/mongo/server_selector/primary.rb

Overview

Encapsulates specifications for selecting the primary server given a list

of candidates.

Since:

  • 2.0.0

Constant Summary

SERVER_FORMATTED_NAME =

Name of the this read preference in the server's format.

Since:

  • 2.5.0

'primary'.freeze

Instance Attribute Summary

Attributes included from Selectable

#max_staleness, #options, #tag_sets

Instance Method Summary collapse

Methods included from Selectable

#==, #candidates, #initialize, #inspect, #local_threshold, #select_server, #server_selection_timeout

Instance Method Details

#nameSymbol

Get the name of the server mode type.

Examples:

Get the name of the server mode for this preference.

preference.name

Returns:

Since:

  • 2.0.0



39
40
41
# File 'lib/mongo/server_selector/primary.rb', line 39

def name
  :primary
end

#slave_ok?false

Whether the slaveOk bit should be set on wire protocol messages.

I.e. whether the operation can be performed on a secondary server.

Returns:

  • (false)

    false

Since:

  • 2.0.0



49
50
51
# File 'lib/mongo/server_selector/primary.rb', line 49

def slave_ok?
  false
end

#tags_allowed?false

Whether tag sets are allowed to be defined for this server preference.

Returns:

  • (false)

    false

Since:

  • 2.0.0



58
59
60
# File 'lib/mongo/server_selector/primary.rb', line 58

def tags_allowed?
  false
end

#to_docHash

Convert this server preference definition into a format appropriate

for a mongodb server.

Examples:

Convert this server preference definition into a format

for a server.
preference = Mongo::ServerSelector::Primary.new
preference.to_doc

Returns:

  • (Hash)

    The server preference formatted for a mongodb server.

Since:

  • 2.5.0



88
89
90
# File 'lib/mongo/server_selector/primary.rb', line 88

def to_doc
  @doc ||= { mode: SERVER_FORMATTED_NAME }
end

#to_mongosnil

Convert this server preference definition into a format appropriate

for a mongos server.

Examples:

Convert this server preference definition into a format

for mongos.
preference = Mongo::ServerSelector::Primary.new
preference.to_mongos

Returns:

  • (nil)

    nil

Since:

  • 2.0.0



73
74
75
# File 'lib/mongo/server_selector/primary.rb', line 73

def to_mongos
  nil
end