* On success return positive value. On error, negative value.
*/
int consumer_send_relayd_socket(struct consumer_socket *consumer_sock,
- struct lttcomm_relayd_sock *rsock, struct consumer_output *consumer,
- enum lttng_stream_type type, uint64_t session_id,
- const char *session_name, const char *hostname,
- const char *base_path, int session_live_timer,
- const uint64_t *current_chunk_id, time_t session_creation_time,
- bool session_name_contains_creation_time)
+ struct lttcomm_relayd_sock *rsock,
+ struct consumer_output *consumer,
+ enum lttng_stream_type type,
+ const struct ltt_session& session,
+ const char *base_path_override,
+ const uint64_t *current_chunk_id)
{
int ret;
int fd;
LTTNG_ASSERT(consumer);
LTTNG_ASSERT(consumer_sock);
+ const char *base_path = base_path_override != NULL ? base_path_override : session.base_path;
+
memset(&msg, 0, sizeof(msg));
/* Bail out if consumer is disabled */
if (!consumer->enabled) {
char output_path[LTTNG_PATH_MAX] = {};
uint64_t relayd_session_id;
- ret = relayd_create_session(rsock, &relayd_session_id,
- session_name, hostname, base_path,
- session_live_timer, consumer->snapshot,
- session_id, the_sessiond_uuid, current_chunk_id,
- session_creation_time,
- session_name_contains_creation_time,
- output_path);
+ ret = relayd_create_session(rsock, &relayd_session_id, session.name,
+ session.hostname, base_path, session.live_timer, consumer->snapshot,
+ session.id, the_sessiond_uuid, current_chunk_id,
+ session.creation_time, session.name_contains_creation_time,
+ output_path, *session.trace_format);
if (ret < 0) {
/* Close the control socket. */
(void) relayd_close(rsock);
*/
msg.u.relayd_sock.net_index = consumer->net_seq_index;
msg.u.relayd_sock.type = type;
- msg.u.relayd_sock.session_id = session_id;
+ msg.u.relayd_sock.session_id = session.id;
msg.u.relayd_sock.major = rsock->major;
msg.u.relayd_sock.minor = rsock->minor;
msg.u.relayd_sock.relayd_socket_protocol = rsock->sock.proto;