Class: Babeltrace2::BTStreamClass
- Inherits:
-
BTSharedObject
- Object
- BTObject
- BTSharedObject
- Babeltrace2::BTStreamClass
- Defined in:
- lib/babeltrace2/trace-ir/stream-class.rb
Constant Summary collapse
- SetNameStatus =
BTStreamClassSetNameStatus
- SetDefaultClockClassStatus =
BTStreamClassSetDefaultClockClassStatus
- SetFieldClassStatus =
BTStreamClassSetFieldClassStatus
Instance Attribute Summary
Attributes inherited from BTObject
Class Method Summary collapse
Instance Method Summary collapse
- #assigns_automatic_event_class_id ⇒ Object (also: #assigns_automatic_event_class_id?)
- #assigns_automatic_event_class_id=(assigns_automatic_event_class_id) ⇒ Object
- #assigns_automatic_stream_id ⇒ Object (also: #assigns_automatic_stream_id?)
- #assigns_automatic_stream_id=(assigns_automatic_stream_id) ⇒ Object
- #create_event_class(id: nil) ⇒ Object
- #create_stream(trace, id: nil) ⇒ Object
- #default_clock_class=(clock_class) ⇒ Object
- #discarded_events_have_default_clock_snapshots ⇒ Object (also: #discarded_events_have_default_clock_snapshots?)
- #discarded_packets_have_default_clock_snapshots ⇒ Object (also: #discarded_packets_have_default_clock_snapshots?)
- #event_common_context_field_class=(field_class) ⇒ Object
- #get_default_clock_class ⇒ Object (also: #default_clock_class)
- #get_event_class_by_id(id) ⇒ Object
- #get_event_class_by_index(index) ⇒ Object
- #get_event_class_count ⇒ Object (also: #event_class_count)
- #get_event_common_context_field_class ⇒ Object (also: #event_common_context_field_class)
- #get_id ⇒ Object (also: #id)
- #get_name ⇒ Object (also: #name)
- #get_packet_context_field_class ⇒ Object (also: #packet_context_field_class)
- #get_trace_class ⇒ Object (also: #trace_class)
- #get_user_attributes ⇒ Object (also: #user_attributes)
-
#initialize(handle = nil, retain: true, auto_release: true, trace_class: nil, id: nil) ⇒ BTStreamClass
constructor
A new instance of BTStreamClass.
- #name=(name) ⇒ Object
- #packet_context_field_class=(field_class) ⇒ Object
- #packets_have_beginning_default_clock_snapshot ⇒ Object (also: #packets_have_beginning_default_clock_snapshot?)
- #packets_have_end_default_clock_snapshot ⇒ Object (also: #packets_have_end_default_clock_snapshot?)
- #set_assigns_automatic_event_class_id(assigns_automatic_event_class_id) ⇒ Object
- #set_assigns_automatic_stream_id(assigns_automatic_stream_id) ⇒ Object
- #set_default_clock_class(clock_class) ⇒ Object
- #set_event_common_context_field_class(field_class) ⇒ Object
- #set_name(name) ⇒ Object
- #set_packet_context_field_class(field_class) ⇒ Object
- #set_supports_discarded_events(supports_discarded_events, with_default_clock_snapshots: false) ⇒ Object
- #set_supports_discarded_packets(supports_discarded_packets, with_default_clock_snapshots: false) ⇒ Object
- #set_supports_packets(supports_packets, with_beginning_default_clock_snapshot: false, with_end_default_clock_snapshot: false) ⇒ Object
- #set_user_attributes(user_attributes) ⇒ Object
- #supports_discarded_events ⇒ Object (also: #supports_discarded_events?)
- #supports_discarded_packets ⇒ Object (also: #supports_discarded_packets?)
- #supports_packets ⇒ Object (also: #supports_packets?)
- #to_h ⇒ Object
- #user_attributes=(user_attributes) ⇒ Object
Methods inherited from BTSharedObject
Methods inherited from BTObject
Constructor Details
#initialize(handle = nil, retain: true, auto_release: true, trace_class: nil, id: nil) ⇒ BTStreamClass
Returns a new instance of BTStreamClass.
193 194 195 196 197 198 199 200 201 202 203 204 205 206 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 193 def initialize(handle = nil, retain: true, auto_release: true, trace_class: nil, id: nil) if handle super(handle, retain: retain, auto_release: auto_release) else handle = if id Babeltrace2.bt_stream_class_create_with_id(trace_class, id) else Babeltrace2.bt_stream_class_create(trace_class) end raise Babeltrace2.process_error if handle.null? super(handle, retain: false) end end |
Class Method Details
.from_h(self_component, trace_class, h) ⇒ Object
455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 455 def self.from_h(self_component, trace_class, h) id = trace_class.assigns_automatic_stream_class_id? ? nil : h[:id] o = trace_class.create_stream_class(id: id) o.default_clock_class = BTClockClass.from_h(self_component, h[:default_clock_class]) if h[:default_clock_class] o.set_supports_packets( h[:supports_packets], with_beginning_default_clock_snapshot: h[:packets_have_beginning_default_clock_snapshot], with_end_default_clock_snapshot: h[:packets_have_end_default_clock_snapshot]) o.set_supports_discarded_events(h[:supports_discarded_events], with_default_clock_snapshots: h[:discarded_events_have_default_clock_snapshots]) o.set_supports_discarded_packets(h[:supports_discarded_packets], with_default_clock_snapshots: h[:discarded_packets_have_default_clock_snapshots]) if h[:supports_packets] o.packet_context_field_class = BTFieldClass.from_h(trace_class, h[:packet_context_field_class], h) if h[:packet_context_field_class] o.event_common_context_field_class = BTFieldClass.from_h(trace_class, h[:event_common_context_field_class], h) if h[:event_common_context_field_class] o.assigns_automatic_event_class_id = h[:assigns_automatic_event_class_id] unless h[:assigns_automatic_event_class_id].nil? o.assigns_automatic_stream_id = h[:assigns_automatic_stream_id] unless h[:assigns_automatic_stream_id].nil? h[:event_classes].each_with_index { |v, i| h[:bt_current_event] = i; BTEventClass.from_h(trace_class, o, v, h) } h.delete(:bt_current_event) o.user_attributes = h[:user_attributes] if h[:user_attributes] h[:bt_stream_class] = o o end |
.locate_field_class(path, h) ⇒ Object
487 488 489 490 491 492 493 494 495 496 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 487 def self.locate_field_class(path, h) case path[0] when :event_payload_field_class h[:event_classes][h[:bt_current_event]][:payload_field_class].dig(*path[1..-1])[:bt_field_class] when :event_specific_context_field_class h[:event_classes][h[:bt_current_event]][:specific_context_field_class].dig(*path[1..-1])[:bt_field_class] else h.dig(*path)[:bt_field_class] end end |
Instance Method Details
#assigns_automatic_event_class_id ⇒ Object Also known as: assigns_automatic_event_class_id?
320 321 322 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 320 def assigns_automatic_event_class_id Babeltrace2.bt_stream_class_assigns_automatic_event_class_id(@handle) != BT_FALSE end |
#assigns_automatic_event_class_id=(assigns_automatic_event_class_id) ⇒ Object
315 316 317 318 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 315 def assigns_automatic_event_class_id=(assigns_automatic_event_class_id) set_assigns_automatic_event_class_id(assigns_automatic_event_class_id) assigns_automatic_event_class_id end |
#assigns_automatic_stream_id ⇒ Object Also known as: assigns_automatic_stream_id?
336 337 338 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 336 def assigns_automatic_stream_id Babeltrace2.bt_stream_class_assigns_automatic_stream_id(@handle) != BT_FALSE end |
#assigns_automatic_stream_id=(assigns_automatic_stream_id) ⇒ Object
331 332 333 334 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 331 def assigns_automatic_stream_id=(assigns_automatic_stream_id) set_assigns_automatic_stream_id(assigns_automatic_stream_id) assigns_automatic_stream_id end |
#create_event_class(id: nil) ⇒ Object
502 503 504 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 502 def create_event_class(id: nil) BTEventClass.new(stream_class: @handle, id: nil) end |
#create_stream(trace, id: nil) ⇒ Object
498 499 500 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 498 def create_stream(trace, id: nil) BTStream.new(stream_class: @handle, trace: trace, id: nil) end |
#default_clock_class=(clock_class) ⇒ Object
259 260 261 262 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 259 def default_clock_class=(clock_class) set_default_clock_class(clock_class) clock_class end |
#discarded_events_have_default_clock_snapshots ⇒ Object Also known as: discarded_events_have_default_clock_snapshots?
379 380 381 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 379 def discarded_events_have_default_clock_snapshots Babeltrace2.bt_stream_class_discarded_events_have_default_clock_snapshots(@handle) != BT_FALSE end |
#discarded_packets_have_default_clock_snapshots ⇒ Object Also known as: discarded_packets_have_default_clock_snapshots?
397 398 399 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 397 def discarded_packets_have_default_clock_snapshots Babeltrace2.bt_stream_class_discarded_packets_have_default_clock_snapshots(@handle) != BT_FALSE end |
#event_common_context_field_class=(field_class) ⇒ Object
297 298 299 300 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 297 def event_common_context_field_class=(field_class) set_event_common_context_field_class(field_class) field_class end |
#get_default_clock_class ⇒ Object Also known as: default_clock_class
264 265 266 267 268 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 264 def get_default_clock_class handle = Babeltrace2.bt_stream_class_borrow_default_clock_class(@handle) return nil if handle.null? BTClockClass.new(handle, retain: true) end |
#get_event_class_by_id(id) ⇒ Object
226 227 228 229 230 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 226 def get_event_class_by_id(id) handle = Babeltrace2.bt_stream_class_borrow_event_class_by_id(@handle, id) return nil if handle.null? BTEventClass.new(handle, retain: true) end |
#get_event_class_by_index(index) ⇒ Object
218 219 220 221 222 223 224 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 218 def get_event_class_by_index(index) count = event_class_count index += count if count < 0 return nil if index >= count || index < 0 BTEventClass.new( Babeltrace2.bt_stream_class_borrow_event_class_by_index(@handle, index), retain: true) end |
#get_event_class_count ⇒ Object Also known as: event_class_count
213 214 215 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 213 def get_event_class_count Babeltrace2.bt_stream_class_get_event_class_count(@handle) end |
#get_event_common_context_field_class ⇒ Object Also known as: event_common_context_field_class
302 303 304 305 306 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 302 def get_event_common_context_field_class handle = Babeltrace2.bt_stream_class_borrow_event_common_context_field_class(@handle) return nil if handle.null? BTFieldClass.from_handle(handle) end |
#get_id ⇒ Object Also known as: id
232 233 234 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 232 def get_id Babeltrace2.bt_stream_class_get_id(@handle) end |
#get_name ⇒ Object Also known as: name
248 249 250 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 248 def get_name Babeltrace2.bt_stream_class_get_name(@handle) end |
#get_packet_context_field_class ⇒ Object Also known as: packet_context_field_class
283 284 285 286 287 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 283 def get_packet_context_field_class handle = Babeltrace2.bt_stream_class_borrow_packet_context_field_class(@handle) return nil if handle.null? BTFieldClass.from_handle(handle) end |
#get_trace_class ⇒ Object Also known as: trace_class
208 209 210 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 208 def get_trace_class BTTraceClass.new(Babeltrace2.bt_stream_class_borrow_trace_class(@handle), retain: true) end |
#get_user_attributes ⇒ Object Also known as: user_attributes
412 413 414 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 412 def get_user_attributes BTValueMap.new(Babeltrace2.bt_stream_class_borrow_user_attributes(@handle), retain: true) end |
#name=(name) ⇒ Object
243 244 245 246 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 243 def name=(name) set_name(name) name end |
#packet_context_field_class=(field_class) ⇒ Object
278 279 280 281 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 278 def packet_context_field_class=(field_class) set_packet_context_field_class(field_class) field_class end |
#packets_have_beginning_default_clock_snapshot ⇒ Object Also known as: packets_have_beginning_default_clock_snapshot?
356 357 358 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 356 def packets_have_beginning_default_clock_snapshot Babeltrace2.bt_stream_class_packets_have_beginning_default_clock_snapshot(@handle) != BT_FALSE end |
#packets_have_end_default_clock_snapshot ⇒ Object Also known as: packets_have_end_default_clock_snapshot?
361 362 363 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 361 def packets_have_end_default_clock_snapshot Babeltrace2.bt_stream_class_packets_have_end_default_clock_snapshot(@handle) != BT_FALSE end |
#set_assigns_automatic_event_class_id(assigns_automatic_event_class_id) ⇒ Object
309 310 311 312 313 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 309 def set_assigns_automatic_event_class_id(assigns_automatic_event_class_id) Babeltrace2.bt_stream_class_set_assigns_automatic_event_class_id( @handle, assigns_automatic_event_class_id ? BT_TRUE : BT_FALSE) self end |
#set_assigns_automatic_stream_id(assigns_automatic_stream_id) ⇒ Object
325 326 327 328 329 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 325 def set_assigns_automatic_stream_id(assigns_automatic_stream_id) Babeltrace2.bt_stream_class_set_assigns_automatic_stream_id( @handle, assigns_automatic_stream_id ? BT_TRUE : BT_FALSE) self end |
#set_default_clock_class(clock_class) ⇒ Object
253 254 255 256 257 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 253 def set_default_clock_class(clock_class) res = Babeltrace2.bt_stream_class_set_default_clock_class(@handle, clock_class) raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_DEFAULT_CLOCK_CLASS_STATUS_OK self end |
#set_event_common_context_field_class(field_class) ⇒ Object
290 291 292 293 294 295 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 290 def set_event_common_context_field_class(field_class) res = Babeltrace2.bt_stream_class_set_event_common_context_field_class( @handle, field_class) raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK self end |
#set_name(name) ⇒ Object
237 238 239 240 241 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 237 def set_name(name) res = Babeltrace2.bt_stream_class_set_name(@handle, name) raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_NAME_STATUS_OK self end |
#set_packet_context_field_class(field_class) ⇒ Object
271 272 273 274 275 276 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 271 def set_packet_context_field_class(field_class) res = Babeltrace2.bt_stream_class_set_packet_context_field_class( @handle, field_class) raise Babeltrace2.process_error(res) if res != :BT_STREAM_CLASS_SET_FIELD_CLASS_STATUS_OK self end |
#set_supports_discarded_events(supports_discarded_events, with_default_clock_snapshots: false) ⇒ Object
366 367 368 369 370 371 372 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 366 def set_supports_discarded_events(supports_discarded_events, with_default_clock_snapshots: false) Babeltrace2.bt_stream_class_set_supports_discarded_events( @handle, supports_discarded_events ? BT_TRUE : BT_FALSE, with_default_clock_snapshots ? BT_TRUE : BT_FALSE) self end |
#set_supports_discarded_packets(supports_discarded_packets, with_default_clock_snapshots: false) ⇒ Object
384 385 386 387 388 389 390 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 384 def set_supports_discarded_packets(supports_discarded_packets, with_default_clock_snapshots: false) Babeltrace2.bt_stream_class_set_supports_discarded_packets( @handle, supports_discarded_packets ? BT_TRUE : BT_FALSE, with_default_clock_snapshots ? BT_TRUE : BT_FALSE) self end |
#set_supports_packets(supports_packets, with_beginning_default_clock_snapshot: false, with_end_default_clock_snapshot: false) ⇒ Object
341 342 343 344 345 346 347 348 349 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 341 def set_supports_packets(supports_packets, with_beginning_default_clock_snapshot: false, with_end_default_clock_snapshot: false) Babeltrace2.bt_stream_class_set_supports_packets(@handle, supports_packets ? BT_TRUE : BT_FALSE, with_beginning_default_clock_snapshot ? BT_TRUE : BT_FALSE, with_end_default_clock_snapshot ? BT_TRUE : BT_FALSE) self end |
#set_user_attributes(user_attributes) ⇒ Object
402 403 404 405 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 402 def set_user_attributes(user_attributes) Babeltrace2.bt_stream_class_set_user_attributes(@handle, BTValue.from_value(user_attributes)) self end |
#supports_discarded_events ⇒ Object Also known as: supports_discarded_events?
374 375 376 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 374 def supports_discarded_events Babeltrace2.bt_stream_class_supports_discarded_events(@handle) != BT_FALSE end |
#supports_discarded_packets ⇒ Object Also known as: supports_discarded_packets?
392 393 394 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 392 def supports_discarded_packets Babeltrace2.bt_stream_class_supports_discarded_packets(@handle) != BT_FALSE end |
#supports_packets ⇒ Object Also known as: supports_packets?
351 352 353 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 351 def supports_packets Babeltrace2.bt_stream_class_supports_packets(@handle) != BT_FALSE end |
#to_h ⇒ Object
417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 417 def to_h res = { id: id, supports_packets: supports_packets? } if supports_packets? res[:packets_have_beginning_default_clock_snapshot] = packets_have_beginning_default_clock_snapshot? res[:packets_have_end_default_clock_snapshot] = packets_have_end_default_clock_snapshot? end res[:supports_discarded_events] = supports_discarded_events? res[:discarded_events_have_default_clock_snapshots] = discarded_events_have_default_clock_snapshots? if supports_discarded_events? if supports_packets? res[:supports_discarded_packets] = supports_discarded_packets? if supports_discarded_packets? res[:discarded_packets_have_default_clock_snapshots] = discarded_packets_have_default_clock_snapshots? end end if default_clock_class res[:default_clock_class] = default_clock_class.to_h end if supports_packets? && packet_context_field_class res[:packet_context_field_class] = packet_context_field_class.to_h end if event_common_context_field_class res[:event_common_context_field_class] = event_common_context_field_class.to_h end res[:assigns_automatic_event_class_id] = assigns_automatic_event_class_id? res[:assigns_automatic_stream_id] = assigns_automatic_stream_id? res[:event_classes] = event_class_count.times.collect { |i| get_event_class_by_index(i).to_h } user_attributes_value = user_attributes.value res[:user_attributes] = user_attributes_value if !user_attributes_value.empty? res end |
#user_attributes=(user_attributes) ⇒ Object
407 408 409 410 |
# File 'lib/babeltrace2/trace-ir/stream-class.rb', line 407 def user_attributes=(user_attributes) set_user_attributes(user_attributes) user_attributes end |