Class: Aspera::Fasp::AgentBase

Inherits:
Object
  • Object
show all
Defined in:
lib/aspera/fasp/agent_base.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

Instance Method Summary collapse

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