BT_ASSERT_PRE_NON_NULL(stream, "Stream");
stream_class = bt_stream_borrow_class(stream);
BT_ASSERT(stream_class);
+ BT_ASSERT_PRE((with_cs && stream_class->default_clock_class) ||
+ (!with_cs && !stream_class->default_clock_class),
+ "Creating a message with a default clock snapshot, but without "
+ "a default clock class, or without a default clock snapshot, "
+ "but with a default clock class: ",
+ "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);
BT_LIB_LOGD("Creating discarded items message object: "
"type=%s, %![stream-]+s, %![sc-]+S, with-cs=%d, "
"cs-begin-val=%" PRIu64 ", cs-end-val=%" PRIu64,
bt_object_get_no_null_check(message->stream);
if (with_cs) {
+ BT_ASSERT(stream_class->default_clock_class);
message->default_begin_cs = bt_clock_snapshot_create(
stream_class->default_clock_class);
if (!message->default_begin_cs) {
BT_ASSERT_PRE_MSG_IS_TYPE(message, BT_MESSAGE_TYPE_DISCARDED_PACKETS);
return get_discarded_items_message_count(message, count);
}
+
+static inline
+const struct bt_clock_class *
+borrow_discarded_items_message_stream_class_default_clock_class(
+ const struct bt_message *msg)
+{
+ struct bt_message_discarded_items *disc_items_msg = (void *) msg;
+
+ BT_ASSERT(msg);
+ return disc_items_msg->stream->class->default_clock_class;
+}
+
+const struct bt_clock_class *
+bt_message_discarded_events_borrow_stream_class_default_clock_class_const(
+ const struct bt_message *msg)
+{
+ BT_ASSERT_PRE_NON_NULL(msg, "Message");
+ BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_DISCARDED_EVENTS);
+ return borrow_discarded_items_message_stream_class_default_clock_class(
+ msg);
+}
+
+const struct bt_clock_class *
+bt_message_discarded_packets_borrow_stream_class_default_clock_class_const(
+ const struct bt_message *msg)
+{
+ BT_ASSERT_PRE_NON_NULL(msg, "Message");
+ BT_ASSERT_PRE_MSG_IS_TYPE(msg, BT_MESSAGE_TYPE_DISCARDED_PACKETS);
+ return borrow_discarded_items_message_stream_class_default_clock_class(
+ msg);
+}