Class: Aspera::Fasp::Manager
- Inherits:
-
Object
- Object
- Aspera::Fasp::Manager
- Defined in:
- lib/aspera/fasp/manager.rb
Overview
Base class for FASP transfer agents sub classes shall implement start_transfer and shutdown
Constant Summary collapse
- LISTENER_SESSION_ID_B =
'ListenerSessionId'- LISTENER_SESSION_ID_S =
'listener_session_id'
Class Method Summary collapse
-
.validate_status_list(statuses) ⇒ Object
the following methods must be implemented by subclass: start_transfer(transfer_spec,options) : start and wait for completion wait_for_transfers_completion : wait for termination of all transfers, @return list of : :success or error message optional: shutdown.
Instance Method Summary collapse
-
#add_listener(listener) ⇒ Object
listener receives events.
Class Method Details
.validate_status_list(statuses) ⇒ Object
the following methods must be implemented by subclass: start_transfer(transfer_spec,options) : start and wait for completion wait_for_transfers_completion : wait for termination of all transfers, @return list of : :success or error message optional: shutdown
63 64 65 66 |
# File 'lib/aspera/fasp/manager.rb', line 63 def self.validate_status_list(statuses) raise "internal error: bad statuses type: #{statuses.class}" unless statuses.is_a?(Array) raise "internal error: bad statuses content: #{statuses}" unless statuses.select{|i|!i.eql?(:success) and !i.is_a?(StandardError)}.empty? end |
Instance Method Details
#add_listener(listener) ⇒ Object
listener receives events
53 54 55 56 57 |
# File 'lib/aspera/fasp/manager.rb', line 53 def add_listener(listener) raise "expect one of #{ExpectedMethod}" if ExpectedMethod.inject(0){|m,e|m+=listener.respond_to?("event_#{e}")?1:0;m}.eql?(0) @listeners.push(listener) self end |