#define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE"
#include "logging/comp-logging.h"
-#include <glib.h>
#include <inttypes.h>
#include <stdbool.h>
#include <unistd.h>
+#include <glib.h>
+
#include "common/assert.h"
#include <babeltrace2/babeltrace.h>
#include "compat/compiler.h"
case LTTNG_LIVE_ITERATOR_STATUS_UNSUPPORTED:
return "LTTNG_LIVE_ITERATOR_STATUS_UNSUPPORTED";
default:
- abort();
+ bt_common_abort();
}
}
g_ptr_array_free(lttng_live_msg_iter->sessions, TRUE);
}
- BT_OBJECT_PUT_REF_AND_RESET(lttng_live_msg_iter->viewer_connection);
+ if (lttng_live_msg_iter->viewer_connection) {
+ live_viewer_connection_destroy(lttng_live_msg_iter->viewer_connection);
+ }
BT_ASSERT(lttng_live_msg_iter->lttng_live_comp);
BT_ASSERT(lttng_live_msg_iter->lttng_live_comp->has_msg_iter);
case LTTNG_LIVE_STREAM_ACTIVE_NO_DATA:
/* Invalid state. */
BT_COMP_LOGF("Unexpected stream state \"ACTIVE_NO_DATA\"");
- abort();
+ bt_common_abort();
case LTTNG_LIVE_STREAM_QUIESCENT_NO_DATA:
/* Invalid state. */
BT_COMP_LOGF("Unexpected stream state \"QUIESCENT_NO_DATA\"");
- abort();
+ bt_common_abort();
case LTTNG_LIVE_STREAM_EOF:
break;
}
if (!session->attached) {
enum lttng_live_attach_session_status attach_status =
- lttng_live_attach_session(session);
+ lttng_live_attach_session(session,
+ lttng_live_msg_iter->self_msg_iter);
if (attach_status != LTTNG_LIVE_ATTACH_SESSION_STATUS_OK) {
if (lttng_live_graph_is_canceled(lttng_live_msg_iter)) {
/*
}
}
- status = lttng_live_get_new_streams(session);
+ status = lttng_live_get_new_streams(session,
+ lttng_live_msg_iter->self_msg_iter);
if (status != LTTNG_LIVE_ITERATOR_STATUS_OK &&
status != LTTNG_LIVE_ITERATOR_STATUS_END) {
goto end;
goto end;
}
}
- status = lttng_live_lazy_msg_init(session);
+ status = lttng_live_lazy_msg_init(session,
+ lttng_live_msg_iter->self_msg_iter);
end:
return status;
enum lttng_live_iterator_status ret = LTTNG_LIVE_ITERATOR_STATUS_OK;
bt_logging_level log_level = lttng_live_msg_iter->log_level;
bt_self_component *self_comp = lttng_live_msg_iter->self_comp;
- enum bt_msg_iter_status status;
+ enum ctf_msg_iter_status status;
uint64_t session_idx, trace_idx;
for (session_idx = 0; session_idx < lttng_live_msg_iter->sessions->len;
goto end;
}
- status = bt_msg_iter_get_next_message(lttng_live_stream->msg_iter,
- lttng_live_msg_iter->self_msg_iter, message);
+ status = ctf_msg_iter_get_next_message(
+ lttng_live_stream->msg_iter, message);
switch (status) {
- case BT_MSG_ITER_STATUS_EOF:
+ case CTF_MSG_ITER_STATUS_EOF:
ret = LTTNG_LIVE_ITERATOR_STATUS_END;
break;
- case BT_MSG_ITER_STATUS_OK:
+ case CTF_MSG_ITER_STATUS_OK:
ret = LTTNG_LIVE_ITERATOR_STATUS_OK;
break;
- case BT_MSG_ITER_STATUS_AGAIN:
+ case CTF_MSG_ITER_STATUS_AGAIN:
/*
* Continue immediately (end of packet). The next
* get_index may return AGAIN to delay the following
*/
ret = LTTNG_LIVE_ITERATOR_STATUS_CONTINUE;
break;
- case BT_MSG_ITER_STATUS_INVAL:
+ case CTF_MSG_ITER_STATUS_INVAL:
/* No argument provided by the user, so don't return INVAL. */
- case BT_MSG_ITER_STATUS_ERROR:
+ case CTF_MSG_ITER_STATUS_ERROR:
default:
ret = LTTNG_LIVE_ITERATOR_STATUS_ERROR;
BT_COMP_LOGE_APPEND_CAUSE(self_comp,
bt_self_component *self_comp = lttng_live_msg_iter->self_comp;
/*
* The viewer has hung up on us so we are closing the stream. The
- * `bt_msg_iter` should simply realize that it needs to close the
+ * `ctf_msg_iter` should simply realize that it needs to close the
* stream properly by emitting the necessary stream end message.
*/
- enum bt_msg_iter_status status = bt_msg_iter_get_next_message(
- stream_iter->msg_iter, lttng_live_msg_iter->self_msg_iter,
- curr_msg);
+ enum ctf_msg_iter_status status = ctf_msg_iter_get_next_message(
+ stream_iter->msg_iter, curr_msg);
- if (status == BT_MSG_ITER_STATUS_ERROR) {
+ if (status == CTF_MSG_ITER_STATUS_ERROR) {
BT_COMP_LOGE_APPEND_CAUSE(self_comp,
"Error getting the next message from CTF message iterator");
live_status = LTTNG_LIVE_ITERATOR_STATUS_ERROR;
goto end;
}
- BT_ASSERT(status == BT_MSG_ITER_STATUS_OK);
+ BT_ASSERT(status == CTF_MSG_ITER_STATUS_OK);
end:
return live_status;
put_messages(msgs, *count);
break;
default:
- abort();
+ bt_common_abort();
}
no_session:
lttng_live->params.url->str);
break;
default:
- abort();
+ bt_common_abort();
}
}