class Orocos::Async::Log::OutputReader
Attributes
policy[R]
port[R]
Public Class Methods
new(port,reader,options=Hash.new)
click to toggle source
@param [Async::OutputPort] port The Asyn::OutputPort @param [Orocos::OutputReader] reader The designated reader
Calls superclass method
Orocos::Async::ObjectBase.new
# File lib/orocos/async/log/ports.rb, line 15 def initialize(port,reader,options=Hash.new) super(port.name,port.event_loop) @options = Kernel.validate_options options, :period => default_period @port = port # do not queue reachable event no listeners are registered so far disable_emitting do reachable! reader end @port.connect_to do |sample| emit_raw_data @delegator_obj.raw_read # TODO just emit raw_data and convert it to ruby # if someone is listening to (see PortProxy) emit_data sample end end
Public Instance Methods
really_add_listener(listener)
click to toggle source
Calls superclass method
Orocos::Async::ObjectBase#really_add_listener
# File lib/orocos/async/log/ports.rb, line 31 def really_add_listener(listener) return super unless listener.use_last_value? if listener.event == :raw_data sample = @delegator_obj.raw_read if sample event_loop.once do listener.call sample end end elsif listener.event == :data sample = @delegator_obj.read if sample event_loop.once do listener.call sample end end end super end