Method: Mongo::Server::Monitor#initialize
- Defined in:
- lib/mongo/server/monitor.rb
#initialize(server, event_listeners, monitoring, options = {}) ⇒ Monitor
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.
Note:
Monitor must never be directly instantiated outside of a Server.
Create the new server monitor.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/mongo/server/monitor.rb', line 78 def initialize(server, event_listeners, monitoring, = {}) unless monitoring.is_a?(Monitoring) raise ArgumentError, "Wrong monitoring type: #{monitoring.inspect}" end unless [:app_metadata] raise ArgumentError, 'App metadata is required' end unless [:push_monitor_app_metadata] raise ArgumentError, 'Push monitor app metadata is required' end @server = server @event_listeners = event_listeners @monitoring = monitoring @options = .freeze @mutex = Mutex.new @sdam_mutex = Mutex.new @next_earliest_scan = @next_wanted_scan = Time.now @update_mutex = Mutex.new end |