Class: Syskit::NetworkGeneration::Async::Resolution

Inherits:
Concurrent::Future
  • Object
show all
Defined in:
lib/syskit/network_generation/async.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(plan, event_logger, requirement_tasks, **options, &block) ⇒ Resolution

Returns a new instance of Resolution



44
45
46
47
48
49
# File 'lib/syskit/network_generation/async.rb', line 44

def initialize(plan, event_logger, requirement_tasks, **options, &block)
    @plan = plan
    @requirement_tasks = requirement_tasks.to_set
    @engine = Engine.new(plan, event_logger: event_logger)
    super(**options, &block)
end

Instance Attribute Details

#engineObject (readonly)

Returns the value of attribute engine



42
43
44
# File 'lib/syskit/network_generation/async.rb', line 42

def engine
  @engine
end

#planObject (readonly)

Returns the value of attribute plan



40
41
42
# File 'lib/syskit/network_generation/async.rb', line 40

def plan
  @plan
end

#requirement_tasksObject (readonly)

Returns the value of attribute requirement_tasks



41
42
43
# File 'lib/syskit/network_generation/async.rb', line 41

def requirement_tasks
  @requirement_tasks
end

Instance Method Details

#cancelObject



51
52
53
54
55
56
57
58
59
60
# File 'lib/syskit/network_generation/async.rb', line 51

def cancel
    add_observer do
        self.plan.execution_engine.once do
            if !engine.work_plan.finalized?
                engine.work_plan.discard_transaction
            end
        end
    end
    super
end