Cleanup: src.ctf.lttng-live: add `lttng_live_msg_iter_create()`
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Tue, 5 Nov 2019 22:01:14 +0000 (17:01 -0500)
committerFrancis Deslauriers <francis.deslauriers@efficios.com>
Fri, 15 Nov 2019 17:28:24 +0000 (12:28 -0500)
One small step to increase readability of this component class.

Change-Id: I4e690d96b85575847314e30ea9223806f4a049dc
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/2343

src/plugins/ctf/lttng-live/lttng-live.c

index e236655815a5d68f7b9854bc2b052075a06761a6..e36cdc662088f02cfede0772ed085878e0ba4869 100644 (file)
@@ -1505,6 +1505,40 @@ end:
        return status;
 }
 
+static
+struct lttng_live_msg_iter *lttng_live_msg_iter_create(
+               struct lttng_live_component *lttng_live_comp,
+               bt_self_message_iterator *self_msg_it)
+{
+       bt_self_component *self_comp = lttng_live_comp->self_comp;
+       bt_logging_level log_level = lttng_live_comp->log_level;
+
+       struct lttng_live_msg_iter *lttng_live_msg_iter =
+               g_new0(struct lttng_live_msg_iter, 1);
+       if (!lttng_live_msg_iter) {
+               BT_COMP_LOGE_APPEND_CAUSE(self_comp,
+                       "Failed to allocate lttng_live_msg_iter");
+               goto end;
+       }
+
+       lttng_live_msg_iter->log_level = lttng_live_comp->log_level;
+       lttng_live_msg_iter->self_comp = lttng_live_comp->self_comp;
+       lttng_live_msg_iter->lttng_live_comp = lttng_live_comp;
+       lttng_live_msg_iter->self_msg_iter = self_msg_it;
+
+       lttng_live_msg_iter->active_stream_iter = 0;
+       lttng_live_msg_iter->last_msg_ts_ns = INT64_MIN;
+       lttng_live_msg_iter->was_interrupted = false;
+
+       lttng_live_msg_iter->sessions = g_ptr_array_new_with_free_func(
+               (GDestroyNotify) lttng_live_destroy_session);
+       BT_ASSERT(lttng_live_msg_iter->sessions);
+
+end:
+       return lttng_live_msg_iter;
+
+}
+
 BT_HIDDEN
 bt_component_class_message_iterator_initialize_method_status lttng_live_msg_iter_init(
                bt_self_message_iterator *self_msg_it,
@@ -1526,31 +1560,20 @@ bt_component_class_message_iterator_initialize_method_status lttng_live_msg_iter
        log_level = lttng_live->log_level;
        self_comp = lttng_live->self_comp;
 
+
        /* There can be only one downstream iterator at the same time. */
        BT_ASSERT(!lttng_live->has_msg_iter);
        lttng_live->has_msg_iter = true;
 
-       lttng_live_msg_iter = g_new0(struct lttng_live_msg_iter, 1);
+       lttng_live_msg_iter = lttng_live_msg_iter_create(lttng_live,
+               self_msg_it);
        if (!lttng_live_msg_iter) {
                status = BT_COMPONENT_CLASS_MESSAGE_ITERATOR_INITIALIZE_METHOD_STATUS_MEMORY_ERROR;
                BT_COMP_LOGE_APPEND_CAUSE(self_comp,
-                       "Failed to allocate lttng_live_msg_iter");
-               goto end;
+                       "Failed to create lttng_live_msg_iter");
+               goto error;
        }
 
-       lttng_live_msg_iter->log_level = lttng_live->log_level;
-       lttng_live_msg_iter->self_comp = lttng_live->self_comp;
-       lttng_live_msg_iter->lttng_live_comp = lttng_live;
-       lttng_live_msg_iter->self_msg_iter = self_msg_it;
-
-       lttng_live_msg_iter->active_stream_iter = 0;
-       lttng_live_msg_iter->last_msg_ts_ns = INT64_MIN;
-       lttng_live_msg_iter->was_interrupted = false;
-
-       lttng_live_msg_iter->sessions = g_ptr_array_new_with_free_func(
-               (GDestroyNotify) lttng_live_destroy_session);
-       BT_ASSERT(lttng_live_msg_iter->sessions);
-
         viewer_status = live_viewer_connection_create(self_comp, NULL,
                log_level, lttng_live->params.url->str, false,
                lttng_live_msg_iter, &lttng_live_msg_iter->viewer_connection);
This page took 0.025616 seconds and 4 git commands to generate.