Class: Aspera::Products::Transferd
- Inherits:
-
Object
- Object
- Aspera::Products::Transferd
- Defined in:
- lib/aspera/products/transferd.rb
Constant Summary collapse
- APP_NAME =
'IBM Aspera Transfer Daemon'- V1_DAEMON_NAME =
'asperatransferd'- V2_DAEMON_NAME =
from 1.1.5
'transferd'- RUNTIME_FOLDERS =
folders to extract from SDK archive
%w[bin lib sbin aspera].freeze
Class Method Summary collapse
-
.daemon_port_from_log(log_file) ⇒ Object
Well, the port number is only in log file.
-
.locations ⇒ Object
standard folder locations.
-
.sdk_directory ⇒ Object
The path to folder where SDK is installed.
-
.sdk_directory=(folder) ⇒ Object
location of SDK files.
- .transferd_path ⇒ Object
Class Method Details
.daemon_port_from_log(log_file) ⇒ Object
Well, the port number is only in log file
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/aspera/products/transferd.rb', line 43 def daemon_port_from_log(log_file) result = nil # if port is zero, a dynamic port was created, get it File.open(log_file, 'r') do |file| file.each_line do |line| # Well, it's tricky to depend on log if (m = line.match(/Info: API Server: Listening on ([^:]+):(\d+) /)) result = m[2].to_i # no "break" , need to read last matching log line end end end Aspera.assert(!result.nil?){'Port not found in daemon logs'} Log.log.debug{"Got port #{result} from log"} return result end |
.locations ⇒ Object
standard folder locations
16 17 18 19 20 21 |
# File 'lib/aspera/products/transferd.rb', line 16 def locations [{ app_root: sdk_directory, sub_bin: '' }].map{ |i| i.merge({expected: APP_NAME})} end |
.sdk_directory ⇒ Object
Returns the path to folder where SDK is installed.
31 32 33 34 |
# File 'lib/aspera/products/transferd.rb', line 31 def sdk_directory Aspera.assert(!@sdk_dir.nil?){'SDK path was not initialized'} @sdk_dir end |
.sdk_directory=(folder) ⇒ Object
location of SDK files
24 25 26 27 28 |
# File 'lib/aspera/products/transferd.rb', line 24 def sdk_directory=(folder) Log.log.debug{"sdk_directory=#{folder}"} @sdk_dir = folder sdk_directory end |
.transferd_path ⇒ Object
36 37 38 39 40 |
# File 'lib/aspera/products/transferd.rb', line 36 def transferd_path v1_path = File.join(sdk_directory, Environment.instance.exe_file(V1_DAEMON_NAME)) return v1_path if File.exist?(v1_path) return File.join(sdk_directory, Environment.instance.exe_file(V2_DAEMON_NAME)) end |