Class: VdlWrapper
- Inherits:
-
Object
- Object
- VdlWrapper
- Extended by:
- FFI::VixDiskLib::ApiWrapper
- Includes:
- DRb::DRbUndumped
- Defined in:
- lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb
Class Method Summary collapse
- .__disconnect__(conn_obj) ⇒ Object
- .__exit__ ⇒ Object
- .connect(connect_parms) ⇒ Object
- .dec_server_disk_count ⇒ Object
- .dumpDisks(server_name) ⇒ Object
- .inc_server_disk_count ⇒ Object
- .init ⇒ Object
- .server(server) ⇒ Object
Class Method Details
.__disconnect__(conn_obj) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 63 def self.__disconnect__(conn_obj) $vim_log.info "VdlWrapper.__disconnect__: #{conn_obj.serverName}" if $vim_log raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized FFI::VixDiskLib::API.disconnect(conn_obj.vdl_connection) @connection = nil end |
.__exit__ ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 70 def self.__exit__ raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized __disconnect__(@connection) unless @connection.nil? # # NOTE: We have to comment this call out for now. # For some reason the call to VixDiskLib.exit is causing # the DRb service (this process) to segfault during the exit sequence. # # super $vim_log.info "VixDiskLib has exited cleanly" @vddk.running = true @vddk.shutdown = true @initialized = nil end |
.connect(connect_parms) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 55 def self.connect(connect_parms) $vim_log.info "VdlWrapper.connect: #{connect_parms[:server_name]}" if $vim_log raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized raise VixDiskLibError, "Already connected to #{@connection.serverName}" if @connection @connection = VdlConnection.new(connect_parms, @vddk) @connection end |
.dec_server_disk_count ⇒ Object
49 50 51 52 53 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 49 def self.dec_server_disk_count @server_disk_count -= 1 @vddk.running = true @server_disk_count end |
.dumpDisks(server_name) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 36 def self.dumpDisks(server_name) $vim_log.warn "*** Open VdlDisks for server #{server_name}" if $vim_log @connection.dumpDisks unless @connection.nil? || @connection.serverName != server_name @vddk.running = true $vim_log.warn "*** Open VdlDisks end" if $vim_log end |
.inc_server_disk_count ⇒ Object
43 44 45 46 47 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 43 def self.inc_server_disk_count @server_disk_count += 1 @vddk.running = true @server_disk_count end |
.init ⇒ Object
29 30 31 32 33 34 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 29 def self.init return if @initialized FFI::VixDiskLib::ApiWrapper.init(@info_log, @warn_log, @error_log, nil) @initialized = true @connection = nil end |
.server(server) ⇒ Object
20 21 22 23 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 20 def self.server(server) return unless @vddk.nil? @vddk = server end |