Class: Mongo::ServerSelector::SecondaryPreferred
- Defined in:
- lib/mongo/server_selector/secondary_preferred.rb
Overview
Encapsulates specifications for selecting servers, with
secondaries preferred, given a list of candidates.
Constant Summary collapse
- SERVER_FORMATTED_NAME =
Name of the this read preference in the server’s format.
'secondaryPreferred'.freeze
Instance Attribute Summary
Attributes inherited from Base
#hedge, #max_staleness, #options, #tag_sets
Instance Method Summary collapse
-
#hedge_allowed? ⇒ true
Whether the hedge option is allowed to be defined for this server preference.
-
#name ⇒ Symbol
Get the name of the server mode type.
-
#secondary_ok? ⇒ true
private
Whether the secondaryOk bit should be set on wire protocol messages.
-
#tags_allowed? ⇒ true
Whether tag sets are allowed to be defined for this server preference.
-
#to_doc ⇒ Hash
Convert this server preference definition into a format appropriate for sending to a MongoDB server (i.e., as a command field).
-
#to_mongos ⇒ Hash | nil
Convert this server preference definition into a value appropriate for sending to a mongos.
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? ⇒ true
Whether the hedge option is allowed to be defined for this server preference.
66 67 68 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 66 def hedge_allowed? true end |
#name ⇒ Symbol
Get the name of the server mode type.
41 42 43 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 41 def name :secondary_preferred end |
#secondary_ok? ⇒ true
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Whether the secondaryOk bit should be set on wire protocol messages.
I.e. whether the operation can be performed on a secondary server.
50 51 52 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 50 def secondary_ok? true end |
#tags_allowed? ⇒ true
Whether tag sets are allowed to be defined for this server preference.
59 60 61 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 59 def true end |
#to_doc ⇒ Hash
Convert this server preference definition into a format appropriate
for sending to a MongoDB server (i.e., as a command field).
76 77 78 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 76 def to_doc full_doc end |
#to_mongos ⇒ Hash | 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.
90 91 92 93 |
# File 'lib/mongo/server_selector/secondary_preferred.rb', line 90 def to_mongos # Always send the read preference to mongos: DRIVERS-1642. to_doc end |