lib/mongo/event/description_changed.rb in mongo-2.6.4 vs lib/mongo/event/description_changed.rb in mongo-2.7.0.rc0

- old
+ new

@@ -1,7 +1,6 @@ - -# Copyright (C) 2014-2018 MongoDB, Inc. +# Copyright (C) 2014-2019 MongoDB, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # @@ -18,55 +17,36 @@ # This handles a change in description. # # @since 2.0.6 class DescriptionChanged < Base - include Monitoring::Publishable # @return [ Mongo::Cluster ] cluster The cluster. attr_reader :cluster - # @return [ Hash ] options The options. - attr_reader :options - - # @return [ Monitoring ] monitoring The monitoring. - attr_reader :monitoring - # Initialize the new host added event handler. # # @example Create the new handler. # ServerAdded.new(cluster) # # @param [ Mongo::Cluster ] cluster The cluster to publish from. # # @since 2.0.0 def initialize(cluster) @cluster = cluster - @options = cluster.options - @monitoring = cluster.monitoring end # This event publishes an event to add the cluster and logs the # configuration change. # - # @example Handle the event. - # server_added.handle('127.0.0.1:27018') + # @param [ Server::Description ] previous_desc Previous server description. + # @param [ Server::Description ] updated_desc The changed description. # - # @param [ Server::Description ] updated The changed description. - # # @since 2.0.0 - def handle(previous, updated) - publish_sdam_event( - Monitoring::SERVER_DESCRIPTION_CHANGED, - Monitoring::Event::ServerDescriptionChanged.new( - updated.address, - cluster.topology, - previous, - updated - ) - ) - cluster.add_hosts(updated) - cluster.remove_hosts(updated) + def handle(previous_desc, updated_desc) + cluster.sdam_flow_lock.synchronize do + Mongo::Cluster::SdamFlow.new(cluster, previous_desc, updated_desc).server_description_changed + end end end end end