+
+ if (type == BT_MESSAGE_TYPE_DISCARDED_EVENTS) {
+ has_support = stream_class->supports_discarded_events;
+ has_default_clock_snapshots =
+ stream_class->discarded_events_have_default_clock_snapshots;
+ } else {
+ has_support = stream_class->supports_discarded_packets;
+ has_default_clock_snapshots =
+ stream_class->discarded_packets_have_default_clock_snapshots;
+ }
+
+ BT_ASSERT_PRE(has_support,
+ "Stream class does not support discarded events or packets: "
+ "type=%s, %![stream-]+s, %![sc-]+S",
+ bt_message_type_string(type), stream, stream_class);
+ BT_ASSERT_PRE((with_cs && has_default_clock_snapshots) ||
+ (!with_cs && !has_default_clock_snapshots),
+ "Unexpected stream class configuration when creating "
+ "a discarded events or packets message: "
+ "type=%s, %![stream-]+s, %![sc-]+S, with-cs=%d, "
+ "cs-begin-val=%" PRIu64 ", cs-end-val=%" PRIu64,
+ bt_message_type_string(type), stream, stream_class,
+ with_cs, beginning_raw_value, end_raw_value);