Class: Roby::Schedulers::Global::TemporalConstraintResult

Inherits:
Struct
  • Object
show all
Defined in:
lib/roby/schedulers/global.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#failed_occurenceObject

Returns the value of attribute failed_occurence

Returns:

  • (Object)

    the current value of failed_occurence



863
864
865
# File 'lib/roby/schedulers/global.rb', line 863

def failed_occurence
  @failed_occurence
end

#failed_temporalObject

Returns the value of attribute failed_temporal

Returns:

  • (Object)

    the current value of failed_temporal



863
864
865
# File 'lib/roby/schedulers/global.rb', line 863

def failed_temporal
  @failed_temporal
end

Instance Method Details

#add_from_task(task, time) ⇒ Object



870
871
872
873
874
875
876
877
878
879
# File 'lib/roby/schedulers/global.rb', line 870

def add_from_task(task, time)
    start_event = task.start_event
    temporal = start_event.each_failed_temporal_constraint(time).to_a
    failed_temporal[task] = temporal unless temporal.empty?

    occurence =
        start_event
        .each_failed_occurence_constraint(use_last_event: true).to_a
    failed_occurence[task] = occurence unless occurence.empty?
end

#ok?Boolean

Returns:

  • (Boolean)


866
867
868
# File 'lib/roby/schedulers/global.rb', line 866

def ok?
    failed_temporal.empty? && failed_occurence.empty?
end


881
882
883
884
885
886
887
888
889
890
# File 'lib/roby/schedulers/global.rb', line 881

def related_tasks
    from_temporal = failed_temporal.each_value.flat_map do |array|
        array.map { |f| f.parent.task }
    end
    from_occurence = failed_occurence.each_value.flat_map do |array|
        array.map { |f| f.parent.task }
    end

    (from_temporal + from_occurence).to_set
end