- struct lttng_live_stream_iterator *stream_iter;
- struct lttng_live_component *lttng_live;
- struct lttng_live_trace *trace;
- bt_logging_level log_level;
- bt_self_component *self_comp;
-
- BT_ASSERT(session);
- BT_ASSERT(session->lttng_live_msg_iter);
- BT_ASSERT(session->lttng_live_msg_iter->lttng_live_comp);
- log_level = session->log_level;
- self_comp = session->self_comp;
-
- lttng_live = session->lttng_live_msg_iter->lttng_live_comp;
-
- stream_iter = g_new0(struct lttng_live_stream_iterator, 1);
- if (!stream_iter) {
- BT_COMP_LOGE_APPEND_CAUSE(self_comp,
- "Failed to allocate struct lttng_live_stream_iterator");
- goto error;
- }
-
- stream_iter->log_level = log_level;
- stream_iter->self_comp = self_comp;
- trace = lttng_live_session_borrow_or_create_trace_by_id(session, ctf_trace_id);
- if (!trace) {
- BT_COMP_LOGE_APPEND_CAUSE(self_comp,
- "Failed to borrow CTF trace.");
- goto error;
- }
-
- stream_iter->trace = trace;
- stream_iter->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
- stream_iter->viewer_stream_id = stream_id;
-
- stream_iter->ctf_stream_class_id.is_set = false;
- stream_iter->ctf_stream_class_id.value = UINT64_MAX;
-
- stream_iter->last_inactivity_ts.is_set = false;
- stream_iter->last_inactivity_ts.value = 0;
-
- if (trace->trace) {
- struct ctf_trace_class *ctf_tc =
- ctf_metadata_decoder_borrow_ctf_trace_class(
- trace->metadata->decoder);
- BT_ASSERT(!stream_iter->msg_iter);
- stream_iter->msg_iter = ctf_msg_iter_create(ctf_tc,
- lttng_live->max_query_size, medops, stream_iter,
- log_level, self_comp, self_msg_iter);
- if (!stream_iter->msg_iter) {
- BT_COMP_LOGE_APPEND_CAUSE(self_comp,
- "Failed to create CTF message iterator");
- goto error;
- }
- }
- stream_iter->buf = g_new0(uint8_t, lttng_live->max_query_size);
- if (!stream_iter->buf) {
- BT_COMP_LOGE_APPEND_CAUSE(self_comp,
- "Failed to allocate live stream iterator buffer");
- goto error;
- }
-
- stream_iter->buflen = lttng_live->max_query_size;
- stream_iter->name = g_string_new(NULL);
- if (!stream_iter->name) {
- BT_COMP_LOGE_APPEND_CAUSE(self_comp,
- "Failed to allocate live stream iterator name buffer");
- goto error;
- }
-
- g_string_printf(stream_iter->name, STREAM_NAME_PREFIX "%" PRIu64,
- stream_iter->viewer_stream_id);
- g_ptr_array_add(trace->stream_iterators, stream_iter);
-
- /* Track the number of active stream iterator. */
- session->lttng_live_msg_iter->active_stream_iter++;
-
- goto end;
+ struct lttng_live_stream_iterator *stream_iter;
+ struct lttng_live_component *lttng_live;
+ struct lttng_live_trace *trace;
+ bt_logging_level log_level;
+ bt_self_component *self_comp;
+
+ BT_ASSERT(session);
+ BT_ASSERT(session->lttng_live_msg_iter);
+ BT_ASSERT(session->lttng_live_msg_iter->lttng_live_comp);
+ log_level = session->log_level;
+ self_comp = session->self_comp;
+
+ lttng_live = session->lttng_live_msg_iter->lttng_live_comp;
+
+ stream_iter = g_new0(struct lttng_live_stream_iterator, 1);
+ if (!stream_iter) {
+ BT_COMP_LOGE_APPEND_CAUSE(self_comp,
+ "Failed to allocate struct lttng_live_stream_iterator");
+ goto error;
+ }
+
+ stream_iter->log_level = log_level;
+ stream_iter->self_comp = self_comp;
+ trace = lttng_live_session_borrow_or_create_trace_by_id(session, ctf_trace_id);
+ if (!trace) {
+ BT_COMP_LOGE_APPEND_CAUSE(self_comp, "Failed to borrow CTF trace.");
+ goto error;
+ }
+
+ stream_iter->trace = trace;
+ stream_iter->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA;
+ stream_iter->viewer_stream_id = stream_id;
+
+ stream_iter->ctf_stream_class_id.is_set = false;
+ stream_iter->ctf_stream_class_id.value = UINT64_MAX;
+
+ stream_iter->last_inactivity_ts.is_set = false;
+ stream_iter->last_inactivity_ts.value = 0;
+
+ if (trace->trace) {
+ struct ctf_trace_class *ctf_tc =
+ ctf_metadata_decoder_borrow_ctf_trace_class(trace->metadata->decoder);
+ BT_ASSERT(!stream_iter->msg_iter);
+ stream_iter->msg_iter =
+ ctf_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, stream_iter, log_level,
+ self_comp, self_msg_iter);
+ if (!stream_iter->msg_iter) {
+ BT_COMP_LOGE_APPEND_CAUSE(self_comp, "Failed to create CTF message iterator");
+ goto error;
+ }
+ }
+ stream_iter->buf = g_new0(uint8_t, lttng_live->max_query_size);
+ if (!stream_iter->buf) {
+ BT_COMP_LOGE_APPEND_CAUSE(self_comp, "Failed to allocate live stream iterator buffer");
+ goto error;
+ }
+
+ stream_iter->buflen = lttng_live->max_query_size;
+ stream_iter->name = g_string_new(NULL);
+ if (!stream_iter->name) {
+ BT_COMP_LOGE_APPEND_CAUSE(self_comp, "Failed to allocate live stream iterator name buffer");
+ goto error;
+ }
+
+ g_string_printf(stream_iter->name, STREAM_NAME_PREFIX "%" PRIu64,
+ stream_iter->viewer_stream_id);
+ g_ptr_array_add(trace->stream_iterators, stream_iter);
+
+ /* Track the number of active stream iterator. */
+ session->lttng_live_msg_iter->active_stream_iter++;
+
+ goto end;