Module: MiqBrokerObjRegistry
- Included in:
- MiqCustomFieldsManager, MiqVimAlarmManager, MiqVimCluster, MiqVimCustomizationSpecManager, MiqVimDataStore, MiqVimEventHistoryCollector, MiqVimFolder, MiqVimHost, MiqVimPerfHistory, MiqVimVm
- Defined in:
- lib/VMwareWebService/MiqVimBrokerMods.rb
Instance Method Summary collapse
- #holdBrokerObj ⇒ Object
- #registerBrokerObj(id) ⇒ Object
- #release ⇒ Object
- #unregisterBrokerObj ⇒ Object
Instance Method Details
#holdBrokerObj ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/VMwareWebService/MiqVimBrokerMods.rb', line 34 def holdBrokerObj $vim_log.info "MiqBrokerObjRegistry.holdBrokerObj: #{self.class} object_id: #{object_id} TEMP HOLD" $miqBrokerObjRegistryLock.synchronize(:EX) do $miqBrokerObjHold[object_id] = self end nil end |
#registerBrokerObj(id) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/VMwareWebService/MiqVimBrokerMods.rb', line 42 def registerBrokerObj(id) $vim_log.info "MiqBrokerObjRegistry.registerBrokerObj: #{self.class} object_id: #{object_id} => SessionId: #{id}" $miqBrokerObjRegistryLock.synchronize(:EX) do $miqBrokerObjRegistry[id] << self if $miqBrokerObjHold.key?(object_id) $vim_log.info "MiqBrokerObjRegistry.registerBrokerObj: #{self.class} object_id: #{object_id} TEMP HOLD RELEASE" $miqBrokerObjHold.delete(object_id) end if defined? @invObj connKey = "#{@invObj.server}_#{@invObj.username}" $vim_log.info "MiqBrokerObjRegistry.registerBrokerObj: #{self.class} object_id: #{object_id} => Connection: #{connKey}" $miqBrokerObjRegistryByConn[connKey] << self end $miqBrokerObjIdMap[object_id] = id $miqBrokerObjCounts[self.class.to_s] = 0 unless $miqBrokerObjCounts[self.class.to_s] $miqBrokerObjCounts[self.class.to_s] += 1 end nil end |
#release ⇒ Object
83 84 85 86 87 |
# File 'lib/VMwareWebService/MiqVimBrokerMods.rb', line 83 def release $vim_log.info "MiqBrokerObjRegistry.release: #{self.class} object_id: #{object_id}" unregisterBrokerObj release_orig end |
#unregisterBrokerObj ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/VMwareWebService/MiqVimBrokerMods.rb', line 65 def unregisterBrokerObj $miqBrokerObjRegistryLock.synchronize(:EX) do return unless (id = $miqBrokerObjIdMap[object_id]) $vim_log.info "MiqBrokerObjRegistry.unregisterBrokerObj: #{self.class} object_id: #{object_id} => SessionId: #{id}" $miqBrokerObjRegistry[id].delete(self) $miqBrokerObjRegistry.delete(id) if $miqBrokerObjRegistry[id].empty? if defined? @invObj connKey = "#{@invObj.server}_#{@invObj.username}" $vim_log.info "MiqBrokerObjRegistry.unregisterBrokerObj: #{self.class} object_id: #{object_id} => Connection: #{connKey}" $miqBrokerObjRegistryByConn[connKey].delete(self) $miqBrokerObjRegistryByConn.delete(connKey) if $miqBrokerObjRegistryByConn[connKey].empty? end $miqBrokerObjIdMap.delete(object_id) $miqBrokerObjCounts[self.class.to_s] -= 1 end nil end |