Class: Mongo::Event::MemberDiscovered
- Inherits:
-
Object
- Object
- Mongo::Event::MemberDiscovered
- Includes:
- Monitoring::Publishable
- Defined in:
- lib/mongo/event/member_discovered.rb
Overview
This handles member discovered events for server descriptions.
Instance Attribute Summary collapse
-
#cluster ⇒ Mongo::Cluster
readonly
Cluster The cluster.
-
#monitoring ⇒ Monitoring
readonly
Monitoring The monitoring.
-
#options ⇒ Hash
readonly
Options The options.
Instance Method Summary collapse
-
#handle(previous, updated) ⇒ Object
This event tells the cluster that a member of a topology is discovered.
-
#initialize(cluster) ⇒ MemberDiscovered
constructor
Initialize the new member discovered event handler.
Methods included from Monitoring::Publishable
#publish_command, #publish_event, #publish_sdam_event
Constructor Details
#initialize(cluster) ⇒ MemberDiscovered
Initialize the new member discovered event handler.
41 42 43 44 45 |
# File 'lib/mongo/event/member_discovered.rb', line 41 def initialize(cluster) @cluster = cluster @options = cluster. @monitoring = cluster.monitoring end |
Instance Attribute Details
#cluster ⇒ Mongo::Cluster (readonly)
Returns cluster The cluster.
25 26 27 |
# File 'lib/mongo/event/member_discovered.rb', line 25 def cluster @cluster end |
#monitoring ⇒ Monitoring (readonly)
Returns monitoring The monitoring.
31 32 33 |
# File 'lib/mongo/event/member_discovered.rb', line 31 def monitoring @monitoring end |
#options ⇒ Hash (readonly)
Returns options The options.
28 29 30 |
# File 'lib/mongo/event/member_discovered.rb', line 28 def @options end |
Instance Method Details
#handle(previous, updated) ⇒ Object
This event tells the cluster that a member of a topology is discovered.
56 57 58 59 60 61 62 |
# File 'lib/mongo/event/member_discovered.rb', line 56 def handle(previous, updated) if updated.primary? || updated.mongos? cluster.elect_primary!(updated) else cluster.member_discovered end end |