Class: Aspera::Fasp::AgentBase
- Inherits:
-
Object
- Object
- Aspera::Fasp::AgentBase
- Defined in:
- lib/aspera/fasp/agent_base.rb
Overview
Base class for FASP transfer agents sub classes shall implement start_transfer and shutdown
Direct Known Subclasses
AgentConnect, AgentDirect, AgentHttpgw, AgentNode, AgentTrsdk
Constant Summary collapse
- LISTENER_SESSION_ID_B =
'ListenerSessionId'- LISTENER_SESSION_ID_S =
'listener_session_id'
Class Method Summary collapse
-
.validate_status_list(statuses) ⇒ Object
This checks the validity of the value returned by wait_for_transfers_completion it must be a list of :success or exception.
Instance Method Summary collapse
-
#add_listener(listener) ⇒ Object
listener receives events.
Class Method Details
.validate_status_list(statuses) ⇒ Object
This checks the validity of the value returned by wait_for_transfers_completion it must be a list of :success or exception
23 24 25 26 |
# File 'lib/aspera/fasp/agent_base.rb', line 23 def 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) && !i.is_a?(StandardError)}.empty? end |
Instance Method Details
#add_listener(listener) ⇒ Object
listener receives events
82 83 84 85 86 |
# File 'lib/aspera/fasp/agent_base.rb', line 82 def add_listener(listener) raise "expect one of #{EXPECTED_METHODS}" if EXPECTED_METHODS.inject(0){|m, e|m + (listener.respond_to?("event_#{e}") ? 1 : 0)}.eql?(0) @listeners.push(listener) self end |