Class: Babeltrace2::BTSelfComponent::Sink

Inherits:
Babeltrace2::BTComponent::Sink show all
Includes:
Babeltrace2::BTSelfComponent
Defined in:
lib/babeltrace2/graph/self-component.rb

Defined Under Namespace

Classes: Configuration

Constant Summary

Constants included from Babeltrace2::BTSelfComponent

AddPortStatus

Constants inherited from Babeltrace2::BTComponent

Babeltrace2::BTComponent::ClassType, Babeltrace2::BTComponent::DescriptorSetAddDescriptorStatus

Instance Attribute Summary

Attributes inherited from Babeltrace2::BTObject

#handle

Instance Method Summary collapse

Methods included from Babeltrace2::BTSelfComponent

#create_clock_class, #create_trace_class, #data=, from_handle, #get_data, #get_graph_mip_version, #set_data

Methods inherited from Babeltrace2::BTComponent::Sink

#get_class, #get_input_port, #get_input_port_count, #input_ports

Methods inherited from Babeltrace2::BTComponent

from_handle, #get_class, #get_class_type, #get_logging_level, #get_name, #is_filter, #is_sink, #is_source

Methods inherited from Babeltrace2::BTSharedObject

inherited, #initialize

Methods inherited from Babeltrace2::BTObject

#==, #initialize, #to_ptr

Constructor Details

This class inherits a constructor from Babeltrace2::BTSharedObject

Instance Method Details

#add_input_port(name, user_data: nil) ⇒ Object



230
231
232
233
234
235
236
# File 'lib/babeltrace2/graph/self-component.rb', line 230

def add_input_port(name, user_data: nil)
  ptr = FFI::MemoryPointer.new(:pointer)
  res = Babeltrace2.bt_self_component_sink_add_input_port(@handle, name, user_data, ptr)
  raise Babeltrace2.process_error(res) if res != :BT_SELF_COMPONENT_ADD_PORT_STATUS_OK
  BTSelfComponentPortInput.new(BTSelfComponentPortInputHandle.new(ptr.read_pointer),
                               retain: false, auto_release: false)
end

#create_message_iterator(port) ⇒ Object



257
258
259
# File 'lib/babeltrace2/graph/self-component.rb', line 257

def create_message_iterator(port)
  BTMessageIterator.create_from_sink_component(self, port)
end

#get_input_port_by_index(index) ⇒ Object



238
239
240
241
242
243
244
# File 'lib/babeltrace2/graph/self-component.rb', line 238

def get_input_port_by_index(index)
  count = get_input_port_count
  index += count if index < 0
  return nil if index >= count || index < 0
  handle = Babeltrace2.bt_self_component_sink_borrow_input_port_by_index(@handle, index)
  BTSelfComponentPortInput.new(handle, retain: false, auto_release: false)
end

#get_input_port_by_name(name) ⇒ Object



246
247
248
249
250
# File 'lib/babeltrace2/graph/self-component.rb', line 246

def get_input_port_by_name(name)
  handle = Babeltrace2.bt_self_component_sink_borrow_input_port_by_name(@handle, name)
  return nil if handle.null?
  BTSelfComponentPortInput.new(handle, retain: false, auto_release: false)
end

#is_interruptedObject Also known as: interrupted?



252
253
254
# File 'lib/babeltrace2/graph/self-component.rb', line 252

def is_interrupted
  Babeltrace2.bt_self_component_sink_is_interrupted(@handle) != BT_FALSE
end