Method: RubyVPI::EdgeClass#monitor

Defined in:
lib/ruby-vpi/core/edge.rb

#monitor(aHandle) ⇒ Object

Begins monitoring the given handle for value change.



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/ruby-vpi/core/edge.rb', line 19

def monitor aHandle
  # ignore handles that cannot hold a meaningful value
  type = VPI::vpi_get_str(VpiType, aHandle)
  return if type =~ /Bit|Array|Module|Parameter/

  @lock.synchronize do
    unless @handles.include? aHandle
      @handles << aHandle
      refresh_handle aHandle
    end
  end
end