Class: Aspera::Fasp::Manager

Inherits:
Object
  • Object
show all
Defined in:
lib/aspera/fasp/manager.rb

Overview

Base class for FASP transfer agents sub classes shall implement start_transfer and shutdown

Direct Known Subclasses

Connect, HttpGW, Local, Node

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

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