X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Frelayd%2Frelayd.cpp;h=12658dc6856655320203e84e8e542d97130876c5;hb=c15e2d3d72435e0e1e73db51b1ef896a75740ef0;hp=6c2641ac03bec575f2c7ad469bac9ddd19bb7fe0;hpb=00e71031969e1cef925cd32f81de49ab7213dfec;p=lttng-tools.git diff --git a/src/common/relayd/relayd.cpp b/src/common/relayd/relayd.cpp index 6c2641ac0..12658dc68 100644 --- a/src/common/relayd/relayd.cpp +++ b/src/common/relayd/relayd.cpp @@ -12,16 +12,16 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "relayd.h" +#include "relayd.hpp" static bool relayd_supports_chunks(const struct lttcomm_relayd_sock *sock) @@ -65,7 +65,7 @@ static int send_command(struct lttcomm_relayd_sock *rsock, buf_size += size; } - buf = (char *) zmalloc(buf_size); + buf = calloc(buf_size); if (buf == NULL) { PERROR("zmalloc relayd send command buf"); ret = -1; @@ -144,7 +144,7 @@ static int relayd_create_session_2_11(struct lttcomm_relayd_sock *rsock, const char *session_name, const char *hostname, const char *base_path, int session_live_timer, unsigned int snapshot, uint64_t sessiond_session_id, - const lttng_uuid sessiond_uuid, const uint64_t *current_chunk_id, + const lttng_uuid& sessiond_uuid, const uint64_t *current_chunk_id, time_t creation_time, bool session_name_contains_creation_time, struct lttcomm_relayd_create_session_reply_2_11 *reply, char *output_path) @@ -166,7 +166,7 @@ static int relayd_create_session_2_11(struct lttcomm_relayd_sock *rsock, base_path_len = strlen(base_path) + 1; msg_length = sizeof(*msg) + session_name_len + hostname_len + base_path_len; - msg = (lttcomm_relayd_create_session_2_11 *) zmalloc(msg_length); + msg = zmalloc(msg_length); if (!msg) { PERROR("zmalloc create_session_2_11 command message"); ret = -1; @@ -201,7 +201,7 @@ static int relayd_create_session_2_11(struct lttcomm_relayd_sock *rsock, msg->live_timer = htobe32(session_live_timer); msg->snapshot = !!snapshot; - lttng_uuid_copy(msg->sessiond_uuid, sessiond_uuid); + std::copy(sessiond_uuid.begin(), sessiond_uuid.end(), msg->sessiond_uuid); msg->session_id = htobe64(sessiond_session_id); msg->session_name_contains_creation_time = session_name_contains_creation_time; if (current_chunk_id) { @@ -316,7 +316,7 @@ int relayd_create_session(struct lttcomm_relayd_sock *rsock, const char *session_name, const char *hostname, const char *base_path, int session_live_timer, unsigned int snapshot, uint64_t sessiond_session_id, - const lttng_uuid sessiond_uuid, + const lttng_uuid& sessiond_uuid, const uint64_t *current_chunk_id, time_t creation_time, bool session_name_contains_creation_time, char *output_path) @@ -446,7 +446,7 @@ static int relayd_add_stream_2_11(struct lttcomm_relayd_sock *rsock, pathname_len = strlen(pathname) + 1; msg_length = sizeof(*msg) + channel_name_len + pathname_len; - msg = (lttcomm_relayd_add_stream_2_11 *) zmalloc(msg_length); + msg = zmalloc(msg_length); if (!msg) { PERROR("zmalloc add_stream_2_11 command message"); ret = -1; @@ -1212,16 +1212,16 @@ int relayd_rotate_streams(struct lttcomm_relayd_sock *sock, unsigned int i; struct lttng_dynamic_buffer payload; struct lttcomm_relayd_generic_reply reply = {}; - const struct lttcomm_relayd_rotate_streams msg = { - .stream_count = htobe32((uint32_t) stream_count), - .new_chunk_id = (typeof(msg.new_chunk_id)) { - .is_set = !!new_chunk_id, - .value = htobe64(new_chunk_id ? *new_chunk_id : 0), - }, - }; + struct lttcomm_relayd_rotate_streams msg; char new_chunk_id_buf[MAX_INT_DEC_LEN(*new_chunk_id)] = {}; const char *new_chunk_id_str; + msg.stream_count = htobe32((uint32_t) stream_count); + msg.new_chunk_id = (typeof(msg.new_chunk_id)){ + .is_set = !!new_chunk_id, + .value = htobe64(new_chunk_id ? *new_chunk_id : 0), + }; + if (!relayd_supports_chunks(sock)) { DBG("Refusing to rotate remote streams: relayd does not support chunks"); return 0; @@ -1346,11 +1346,9 @@ int relayd_create_trace_chunk(struct lttcomm_relayd_sock *sock, } chunk_name_length = overridden_name ? (strlen(chunk_name) + 1) : 0; - msg = (typeof(msg)){ - .chunk_id = htobe64(chunk_id), - .creation_timestamp = htobe64((uint64_t) creation_timestamp), - .override_name_length = htobe32((uint32_t) chunk_name_length), - }; + msg.chunk_id = htobe64(chunk_id); + msg.creation_timestamp = htobe64((uint64_t) creation_timestamp); + msg.override_name_length = htobe32((uint32_t) chunk_name_length); ret = lttng_dynamic_buffer_append(&payload, &msg, sizeof(msg)); if (ret) {