# File lib/mongo/server/monitor.rb, line 60
      def initialize(address, event_listeners, monitoring, options = {})
        unless monitoring.is_a?(Monitoring)
          raise ArgumentError, "Wrong monitoring type: #{monitoring.inspect}"
        end
        @description = Description.new(address, {})
        @event_listeners = event_listeners
        @monitoring = monitoring
        @options = options.freeze
        @round_trip_time_averager = RoundTripTimeAverager.new
        @scan_semaphore = Semaphore.new
        # This is a Mongo::Server::Monitor::Connection
        @connection = Connection.new(address, options)
        @last_scan = nil
        @mutex = Mutex.new
      end