Class: VdlWrapper
- Inherits:
-
Object
- Object
- VdlWrapper
- Extended by:
- FFI::VixDiskLib::ApiWrapper
- Includes:
- DRb::DRbUndumped, VMwareWebService::Logging
- 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
Methods included from VMwareWebService::Logging
Class Method Details
.__disconnect__(conn_obj) ⇒ Object
61 62 63 64 65 66 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 61 def self.__disconnect__(conn_obj) logger.info "VdlWrapper.__disconnect__: #{conn_obj.serverName}" raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized FFI::VixDiskLib::API.disconnect(conn_obj.vdl_connection) @connection = nil end |
.__exit__ ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 68 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 logger.info "VixDiskLib has exited cleanly" @vddk.running = true @vddk.shutdown = true @initialized = nil end |
.connect(connect_parms) ⇒ Object
53 54 55 56 57 58 59 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 53 def self.connect(connect_parms) logger.info "VdlWrapper.connect: #{connect_parms[:server_name]}" 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
47 48 49 50 51 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 47 def self.dec_server_disk_count @server_disk_count -= 1 @vddk.running = true @server_disk_count end |
.dumpDisks(server_name) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 34 def self.dumpDisks(server_name) logger.warn "*** Open VdlDisks for server #{server_name}" @connection.dumpDisks unless @connection.nil? || @connection.serverName != server_name @vddk.running = true logger.warn "*** Open VdlDisks end" end |
.inc_server_disk_count ⇒ Object
41 42 43 44 45 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 41 def self.inc_server_disk_count @server_disk_count += 1 @vddk.running = true @server_disk_count end |
.init ⇒ Object
27 28 29 30 31 32 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 27 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
18 19 20 21 |
# File 'lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb', line 18 def self.server(server) return unless @vddk.nil? @vddk = server end |