Send session creation time to relay daemon when supported
[lttng-tools.git] / src / bin / lttng-relayd / cmd-2-11.c
index eb03999cf9a4aac73b6cf0650e3bad118e3aaa14..7d90be9f9f014d1f87cd0b05aba7f74591b1b3f9 100644 (file)
 
 int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
                char *session_name, char *hostname,
-               uint32_t *live_timer, bool *snapshot)
+               uint32_t *live_timer, bool *snapshot,
+               uint64_t *id_sessiond, lttng_uuid sessiond_uuid,
+               bool *has_current_chunk, uint64_t *current_chunk_id,
+               time_t *creation_time)
 {
        int ret;
        struct lttcomm_relayd_create_session_2_11 header;
@@ -52,6 +55,11 @@ int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
        header.session_name_len = be32toh(header.session_name_len);
        header.hostname_len = be32toh(header.hostname_len);
        header.live_timer = be32toh(header.live_timer);
+       header.current_chunk_id.value = be64toh(header.current_chunk_id.value);
+       header.current_chunk_id.is_set = !!header.current_chunk_id.is_set;
+       header.creation_time = be64toh(header.creation_time);
+
+       lttng_uuid_copy(sessiond_uuid, header.sessiond_uuid);
 
        received_names_size = header.session_name_len + header.hostname_len;
        if (payload->size < header_len + received_names_size) {
@@ -100,6 +108,9 @@ int cmd_create_session_2_11(const struct lttng_buffer_view *payload,
 
        *live_timer = header.live_timer;
        *snapshot = !!header.snapshot;
+       *current_chunk_id = header.current_chunk_id.value;
+       *has_current_chunk = header.current_chunk_id.is_set;
+       *creation_time = (time_t) header.creation_time;
 
        ret = 0;
 
@@ -112,7 +123,8 @@ error:
  */
 int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
                char **ret_path_name, char **ret_channel_name,
-               uint64_t *tracefile_size, uint64_t *tracefile_count)
+               uint64_t *tracefile_size, uint64_t *tracefile_count,
+               uint64_t *trace_archive_id)
 {
        int ret;
        struct lttcomm_relayd_add_stream_2_11 header;
@@ -136,6 +148,7 @@ int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
        header.pathname_len = be32toh(header.pathname_len);
        header.tracefile_size = be64toh(header.tracefile_size);
        header.tracefile_count = be64toh(header.tracefile_count);
+       header.trace_archive_id = be64toh(header.trace_archive_id);
 
        received_names_size = header.channel_name_len + header.pathname_len;
        if (payload->size < header_len + received_names_size) {
@@ -191,6 +204,7 @@ int cmd_recv_stream_2_11(const struct lttng_buffer_view *payload,
 
        *tracefile_size = header.tracefile_size;
        *tracefile_count = header.tracefile_count;
+       *trace_archive_id = header.trace_archive_id;
        *ret_path_name = path_name;
        *ret_channel_name = channel_name;
        /* Move ownership to caller */
This page took 0.02476 seconds and 4 git commands to generate.