Class: Mongo::ServerSelector::Primary

Inherits:
Base
  • Object
show all
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 collapse

SERVER_FORMATTED_NAME =

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

Since:

  • 2.5.0

'primary'.freeze

Instance Attribute Summary

Attributes inherited from Base

#hedge, #max_staleness, #options, #tag_sets

Instance Method Summary collapse

Methods inherited from Base

#==, #candidates, #initialize, #inspect, #local_threshold, #local_threshold_with_cluster, #select_server, #server_selection_timeout, #suitable_servers, #try_select_server

Constructor Details

This class inherits a constructor from Mongo::ServerSelector::Base

Instance Method Details

#hedge_allowed?false

Whether the hedge option is allowed to be defined for this server preference.

Since:

  • 2.0.0



64
65
66
# File 'lib/mongo/server_selector/primary.rb', line 64

def hedge_allowed?
  false
end

#nameSymbol

Get the name of the server mode type.

Examples:

Get the name of the server mode for this preference.

preference.name

Since:

  • 2.0.0



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

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.

Since:

  • 2.0.0



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

def slave_ok?
  false
end

#tags_allowed?false

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

Since:

  • 2.0.0



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

def tags_allowed?
  false
end

#to_docHash

Convert this server preference definition into a format appropriate

for sending to a MongoDB server (i.e., as a command field).

Since:

  • 2.5.0



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

def to_doc
  { mode: SERVER_FORMATTED_NAME }
end

#to_mongosHash | nil

Convert this server preference definition into a value appropriate

for sending to a mongos.

This method may return nil if the read preference should not be sent to a mongos.

Since:

  • 2.0.0



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

def to_mongos
  nil
end