class Babeltrace2::BTQueryExecutor
Constants
- AddInterrupterStatus
- QueryStatus
- SetLoggingLevelStatus
Public Class Methods
new(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil)
click to toggle source
Calls superclass method
# File lib/babeltrace2/graph/query-executor.rb, line 85 def initialize(handle = nil, retain: true, auto_release: true, component_class: nil, object_name: nil, params: nil, method_data: nil) if handle super(handle, retain: retain, auto_release: auto_release) else handle = Babeltrace2.bt_query_executor_create_with_method_data( component_class, object_name, BTValue.from_value(params), method_data) raise Babeltrace2.process_error if handle.null? super(handle) end end
Public Instance Methods
add_interrupter(interrupter)
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 124 def add_interrupter(interrupter) res = Babeltrace2.bt_query_executor_add_interrupter(@handle, interrupter) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_ADD_INTERRUPTER_STATUS_OK self end
get_default_interrupter()
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 130 def get_default_interrupter handle = Babeltrace2.bt_query_executor_borrow_default_interrupter(@handle) BTInterrupter.new(handle, retain: true) end
Also aliased as: default_interrupter
get_logging_level()
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 119 def get_logging_level Babeltrace2.bt_query_executor_get_logging_level(@handle) end
Also aliased as: logging_level
is_interrupted()
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 136 def is_interrupted Babeltrace2.bt_query_executor_is_interrupted(@handle) != BT_FALSE end
Also aliased as: interrupted?
logging_level=(logging_level)
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 113 def logging_level=(logging_level) res = Babeltrace2.bt_query_executor_set_logging_level(@handle, logging_level) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_SET_LOGGING_LEVEL_STATUS_OK return logging_level end
query()
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 97 def query ptr = FFI::MemoryPointer.new(:pointer) while ((res = Babeltrace2.bt_query_executor_query(@handle, ptr)) == :BT_QUERY_EXECUTOR_QUERY_STATUS_AGAIN) raise "interrupted by user" if interrupted? sleep BT_SLEEP_TIME end raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_QUERY_STATUS_OK BTValue.from_handle(BTValueHandle.new(ptr.read_pointer), retain: false) end
set_logging_level(logging_level)
click to toggle source
# File lib/babeltrace2/graph/query-executor.rb, line 107 def set_logging_level(logging_level) res = Babeltrace2.bt_query_executor_set_logging_level(@handle, logging_level) raise Babeltrace2.process_error(res) if res != :BT_QUERY_EXECUTOR_SET_LOGGING_LEVEL_STATUS_OK self end