X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Futils%2Ftrimmer%2Ftrimmer.c;h=9a8bffde70c649503c1cc8f7e8d4e9a2be6af206;hb=a26dd09ff43966f4cb7cf161e7e0241adbd9b657;hp=d7f5576bdd6bb7719f2255d749095f881e49d338;hpb=68e2deedb3317cbe11bef0d4b45803a60d386edb;p=babeltrace.git diff --git a/src/plugins/utils/trimmer/trimmer.c b/src/plugins/utils/trimmer/trimmer.c index d7f5576b..9a8bffde 100644 --- a/src/plugins/utils/trimmer/trimmer.c +++ b/src/plugins/utils/trimmer/trimmer.c @@ -114,7 +114,7 @@ struct trimmer_iterator { enum trimmer_iterator_state state; /* Owned by this */ - bt_self_component_port_input_message_iterator *upstream_iter; + bt_message_iterator *upstream_iter; struct trimmer_bound begin, end; /* @@ -670,7 +670,7 @@ void destroy_trimmer_iterator(struct trimmer_iterator *trimmer_it) goto end; } - bt_self_component_port_input_message_iterator_put_ref( + bt_message_iterator_put_ref( trimmer_it->upstream_iter); if (trimmer_it->output_messages) { @@ -699,13 +699,14 @@ BT_HIDDEN bt_message_iterator_class_initialize_method_status trimmer_msg_iter_init( bt_self_message_iterator *self_msg_iter, bt_self_message_iterator_configuration *config, - bt_self_component *self_comp, bt_self_component_port_output *port) { bt_message_iterator_class_initialize_method_status status; - bt_self_component_port_input_message_iterator_create_from_message_iterator_status + bt_message_iterator_create_from_message_iterator_status msg_iter_status; struct trimmer_iterator *trimmer_it; + bt_self_component *self_comp = + bt_self_message_iterator_borrow_component(self_msg_iter); trimmer_it = g_new0(struct trimmer_iterator, 1); if (!trimmer_it) { @@ -730,12 +731,12 @@ bt_message_iterator_class_initialize_method_status trimmer_msg_iter_init( trimmer_it->begin = trimmer_it->trimmer_comp->begin; trimmer_it->end = trimmer_it->trimmer_comp->end; msg_iter_status = - bt_self_component_port_input_message_iterator_create_from_message_iterator( + bt_message_iterator_create_from_message_iterator( self_msg_iter, bt_self_component_filter_borrow_input_port_by_name( trimmer_it->trimmer_comp->self_comp_filter, in_port_name), &trimmer_it->upstream_iter); - if (msg_iter_status != BT_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_CREATE_FROM_MESSAGE_ITERATOR_STATUS_OK) { + if (msg_iter_status != BT_MESSAGE_ITERATOR_CREATE_FROM_MESSAGE_ITERATOR_STATUS_OK) { status = (int) msg_iter_status; goto error; } @@ -878,7 +879,7 @@ int get_msg_ns_from_origin(const bt_message *msg, int64_t *ns_from_origin, break; case BT_MESSAGE_TYPE_MESSAGE_ITERATOR_INACTIVITY: clock_snapshot = - bt_message_message_iterator_inactivity_borrow_default_clock_snapshot_const( + bt_message_message_iterator_inactivity_borrow_clock_snapshot_const( msg); break; default: @@ -971,7 +972,7 @@ state_set_trimmer_iterator_bounds( while (true) { upstream_iter_status = - bt_self_component_port_input_message_iterator_next( + bt_message_iterator_next( trimmer_it->upstream_iter, &msgs, &count); if (upstream_iter_status != BT_MESSAGE_ITERATOR_NEXT_STATUS_OK) { goto end; @@ -1046,7 +1047,7 @@ bt_message_iterator_class_next_method_status state_seek_initially( if (trimmer_it->begin.is_infinite) { bt_bool can_seek; - status = (int) bt_self_component_port_input_message_iterator_can_seek_beginning( + status = (int) bt_message_iterator_can_seek_beginning( trimmer_it->upstream_iter, &can_seek); if (status != BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK) { if (status < 0) { @@ -1064,12 +1065,12 @@ bt_message_iterator_class_next_method_status state_seek_initially( goto end; } - status = (int) bt_self_component_port_input_message_iterator_seek_beginning( + status = (int) bt_message_iterator_seek_beginning( trimmer_it->upstream_iter); } else { bt_bool can_seek; - status = (int) bt_self_component_port_input_message_iterator_can_seek_ns_from_origin( + status = (int) bt_message_iterator_can_seek_ns_from_origin( trimmer_it->upstream_iter, trimmer_it->begin.ns_from_origin, &can_seek); @@ -1091,7 +1092,7 @@ bt_message_iterator_class_next_method_status state_seek_initially( goto end; } - status = (int) bt_self_component_port_input_message_iterator_seek_ns_from_origin( + status = (int) bt_message_iterator_seek_ns_from_origin( trimmer_it->upstream_iter, trimmer_it->begin.ns_from_origin); } @@ -1303,30 +1304,46 @@ create_stream_state_entry( * the support for not having them is * implemented. */ - if (!bt_stream_class_packets_have_beginning_default_clock_snapshot( - sc)) { - BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, - "Unsupported stream: packets have no beginning clock snapshot: " - "stream-addr=%p, " - "stream-id=%" PRIu64 ", " - "stream-name=\"%s\"", - stream, bt_stream_get_id(stream), - bt_stream_get_name(stream)); - status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; - goto end; - } + if (bt_stream_class_supports_packets(sc)) { + if (!bt_stream_class_packets_have_beginning_default_clock_snapshot( + sc)) { + BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, + "Unsupported stream: packets have no beginning clock snapshot: " + "stream-addr=%p, " + "stream-id=%" PRIu64 ", " + "stream-name=\"%s\"", + stream, bt_stream_get_id(stream), + bt_stream_get_name(stream)); + status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; + goto end; + } - if (!bt_stream_class_packets_have_end_default_clock_snapshot( - sc)) { - BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, - "Unsupported stream: packets have no end clock snapshot: " - "stream-addr=%p, " - "stream-id=%" PRIu64 ", " - "stream-name=\"%s\"", - stream, bt_stream_get_id(stream), - bt_stream_get_name(stream)); - status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; - goto end; + if (!bt_stream_class_packets_have_end_default_clock_snapshot( + sc)) { + BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, + "Unsupported stream: packets have no end clock snapshot: " + "stream-addr=%p, " + "stream-id=%" PRIu64 ", " + "stream-name=\"%s\"", + stream, bt_stream_get_id(stream), + bt_stream_get_name(stream)); + status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; + goto end; + } + + if (bt_stream_class_supports_discarded_packets(sc) && + !bt_stream_class_discarded_packets_have_default_clock_snapshots(sc)) { + BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, + "Unsupported stream: discarded packets " + "have no clock snapshots: " + "stream-addr=%p, " + "stream-id=%" PRIu64 ", " + "stream-name=\"%s\"", + stream, bt_stream_get_id(stream), + bt_stream_get_name(stream)); + status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; + goto end; + } } if (bt_stream_class_supports_discarded_events(sc) && @@ -1342,20 +1359,6 @@ create_stream_state_entry( goto end; } - if (bt_stream_class_supports_discarded_packets(sc) && - !bt_stream_class_discarded_packets_have_default_clock_snapshots(sc)) { - BT_COMP_LOGE_APPEND_CAUSE(trimmer_comp->self_comp, - "Unsupported stream: discarded packets " - "have no clock snapshots: " - "stream-addr=%p, " - "stream-id=%" PRIu64 ", " - "stream-name=\"%s\"", - stream, bt_stream_get_id(stream), - bt_stream_get_name(stream)); - status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_ERROR; - goto end; - } - sstate = g_new0(struct trimmer_iterator_stream_state, 1); if (!sstate) { status = BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_MEMORY_ERROR; @@ -1809,7 +1812,7 @@ state_trim(struct trimmer_iterator *trimmer_it, bool reached_end = false; while (g_queue_is_empty(trimmer_it->output_messages)) { - status = (int) bt_self_component_port_input_message_iterator_next( + status = (int) bt_message_iterator_next( trimmer_it->upstream_iter, &my_msgs, &my_count); if (G_UNLIKELY(status != BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK)) { if (status == BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_END) {