Module: Roby::Distributed::DRobyTaskModel::Dump

Includes:
Roby::Distributed::DRobyModel::Dump
Included in:
Task
Defined in:
lib/roby/distributed/protocol.rb

Overview

Generic implementation of #droby_dump for all classes which should be marshalled as DRobyTaskModel.

Instance Method Summary collapse

Instance Method Details

#droby_dump(dest) ⇒ Object

This augments DRobyModel::Dump#droby_dump by taking into account TaskModelTag modules in the ancestors list.



450
451
452
453
454
455
456
457
458
459
460
461
462
# File 'lib/roby/distributed/protocol.rb', line 450

def droby_dump(dest)
    unless @__droby_marshalled__
  formatted_class = super
  tags = ancestors.map do |mod|
      if mod.instance_of?(Roby::TaskModelTag)
    mod.droby_dump(dest)
      end
  end
  tags.compact!
  @__droby_marshalled__ = DRobyTaskModel.new(tags.reverse, formatted_class.ancestors)
    end
    @__droby_marshalled__
end