Class: Syskit::InstanceRequirements::Dynamics
- Defined in:
- lib/syskit/instance_requirements.rb
Instance Attribute Summary collapse
-
#ports ⇒ Object
Returns the value of attribute ports.
-
#task ⇒ Object
Returns the value of attribute task.
Instance Method Summary collapse
- #add_period_info(period, sample_size = 1) ⇒ Object
- #add_port_info(port_name, info) ⇒ Object
-
#add_port_period(port_name, period, sample_count = 1) ⇒ self
Declare the period of a port.
-
#find_port_dynamics(port_name) ⇒ NetworkGeneration::PortDynamics?
Returns the port dynamics defined for a given port, or nil.
- #merge(other) ⇒ Object
Instance Attribute Details
#ports ⇒ Object
Returns the value of attribute ports
65 66 67 |
# File 'lib/syskit/instance_requirements.rb', line 65 def ports @ports end |
#task ⇒ Object
Returns the value of attribute task
65 66 67 |
# File 'lib/syskit/instance_requirements.rb', line 65 def task @task end |
Instance Method Details
#add_period_info(period, sample_size = 1) ⇒ Object
70 71 72 |
# File 'lib/syskit/instance_requirements.rb', line 70 def add_period_info(period, sample_size = 1) task.add_trigger('period', Float(period), sample_size) end |
#add_port_info(port_name, info) ⇒ Object
74 75 76 77 |
# File 'lib/syskit/instance_requirements.rb', line 74 def add_port_info(port_name, info) (ports[port_name.to_str] ||= NetworkGeneration::PortDynamics.new(port_name.to_str)). merge(info) end |
#add_port_period(port_name, period, sample_count = 1) ⇒ self
Declare the period of a port
When computing dataflow, this overrides propagated values
80 81 82 83 |
# File 'lib/syskit/instance_requirements.rb', line 80 def add_port_period(port_name, period, sample_count = 1) (ports[port_name.to_str] ||= NetworkGeneration::PortDynamics.new(port_name.to_str)). add_trigger('period', period, sample_count) end |
#find_port_dynamics(port_name) ⇒ NetworkGeneration::PortDynamics?
Returns the port dynamics defined for a given port, or nil
86 87 88 |
# File 'lib/syskit/instance_requirements.rb', line 86 def find_port_dynamics(port_name) ports[port_name.to_str] end |
#merge(other) ⇒ Object
90 91 92 93 94 95 96 |
# File 'lib/syskit/instance_requirements.rb', line 90 def merge(other) task.merge(other.task) other.ports.each_key { |port_name| ports[port_name] ||= NetworkGeneration::PortDynamics.new(port_name) } @ports = ports.merge(other.ports) do |port_name, old, new| old.merge(new) end end |