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