#include "compat/endian.h"
#include "compat/compiler.h"
#include "common/common.h"
+#include "cpp-common/exc.hpp"
#include <babeltrace2/babeltrace.h>
#include "cpp-common/make-unique.hpp"
bt_common_abort();
}
-static inline enum ctf_msg_iter_medium_status
-viewer_status_to_ctf_msg_iter_medium_status(enum lttng_live_viewer_status viewer_status)
+static inline enum lttng_live_get_stream_bytes_status
+viewer_status_to_lttng_live_get_stream_bytes_status(enum lttng_live_viewer_status viewer_status)
{
switch (viewer_status) {
case LTTNG_LIVE_VIEWER_STATUS_OK:
- return CTF_MSG_ITER_MEDIUM_STATUS_OK;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_OK;
case LTTNG_LIVE_VIEWER_STATUS_INTERRUPTED:
- return CTF_MSG_ITER_MEDIUM_STATUS_AGAIN;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_AGAIN;
case LTTNG_LIVE_VIEWER_STATUS_ERROR:
- return CTF_MSG_ITER_MEDIUM_STATUS_ERROR;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_ERROR;
}
bt_common_abort();
BT_HIDDEN
enum lttng_live_get_one_metadata_status
-lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, std::vector<char>& buf)
+lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, std::vector<uint8_t>& buf)
{
uint64_t len = 0;
enum lttng_live_viewer_status viewer_status;
struct lttng_viewer_cmd cmd;
struct lttng_viewer_get_metadata rq;
struct lttng_viewer_metadata_packet rp;
- std::vector<char> data;
struct lttng_live_session *session = trace->session;
struct lttng_live_msg_iter *lttng_live_msg_iter = session->lttng_live_msg_iter;
struct lttng_live_metadata *metadata = trace->metadata.get();
return LTTNG_LIVE_GET_ONE_METADATA_STATUS_ERROR;
}
- data.resize(len);
+ std::vector<char> localBuf(len);
- viewer_status = lttng_live_recv(viewer_connection, data.data(), len);
+ viewer_status = lttng_live_recv(viewer_connection, localBuf.data(), len);
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_recv_status(logCfg, viewer_status, "get metadata packet");
return (lttng_live_get_one_metadata_status) viewer_status;
}
- /*
- * Write the metadata to the file handle.
- */
- buf.insert(buf.end(), data.begin(), data.end());
+ buf.insert(buf.end(), localBuf.begin(), localBuf.end());
return LTTNG_LIVE_GET_ONE_METADATA_STATUS_OK;
}
}
BT_HIDDEN
-enum ctf_msg_iter_medium_status
+lttng_live_get_stream_bytes_status
lttng_live_get_stream_bytes(struct lttng_live_msg_iter *lttng_live_msg_iter,
struct lttng_live_stream_iterator *stream, uint8_t *buf,
uint64_t offset, uint64_t req_len, uint64_t *recv_len)
viewer_status = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len);
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_send_status(logCfg, viewer_status, "get data packet command");
- return viewer_status_to_ctf_msg_iter_medium_status(viewer_status);
+ return viewer_status_to_lttng_live_get_stream_bytes_status(viewer_status);
}
viewer_status = lttng_live_recv(viewer_connection, &rp, sizeof(rp));
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_recv_status(logCfg, viewer_status, "get data packet reply");
- return viewer_status_to_ctf_msg_iter_medium_status(viewer_status);
+ return viewer_status_to_lttng_live_get_stream_bytes_status(viewer_status);
}
flags = be32toh(rp.flags);
break;
case LTTNG_VIEWER_GET_PACKET_RETRY:
/* Unimplemented by relay daemon */
- return CTF_MSG_ITER_MEDIUM_STATUS_AGAIN;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_AGAIN;
case LTTNG_VIEWER_GET_PACKET_ERR:
if (flags & LTTNG_VIEWER_FLAG_NEW_METADATA) {
BT_CLOGD("Marking trace as needing new metadata: "
if (flags & (LTTNG_VIEWER_FLAG_NEW_METADATA | LTTNG_VIEWER_FLAG_NEW_STREAM)) {
BT_CLOGD("Reply with any one flags set means we should retry: response=%s",
lttng_viewer_get_packet_return_code_string(rp_status));
- return CTF_MSG_ITER_MEDIUM_STATUS_AGAIN;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_AGAIN;
}
BT_CLOGE_APPEND_CAUSE("Received get_data_packet response: error");
- return CTF_MSG_ITER_MEDIUM_STATUS_ERROR;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_ERROR;
case LTTNG_VIEWER_GET_PACKET_EOF:
- return CTF_MSG_ITER_MEDIUM_STATUS_EOF;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_EOF;
default:
BT_CLOGE_APPEND_CAUSE("Received get_data_packet response: unknown (%d)", rp_status);
- return CTF_MSG_ITER_MEDIUM_STATUS_ERROR;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_ERROR;
}
if (req_len == 0) {
- return CTF_MSG_ITER_MEDIUM_STATUS_ERROR;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_ERROR;
}
viewer_status = lttng_live_recv(viewer_connection, buf, req_len);
if (viewer_status != LTTNG_LIVE_VIEWER_STATUS_OK) {
viewer_handle_recv_status(logCfg, viewer_status, "get data packet");
- return viewer_status_to_ctf_msg_iter_medium_status(viewer_status);
+ return viewer_status_to_lttng_live_get_stream_bytes_status(viewer_status);
}
*recv_len = req_len;
- return CTF_MSG_ITER_MEDIUM_STATUS_OK;
+ return LTTNG_LIVE_GET_STREAM_BYTES_STATUS_OK;
}
/*