X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=509e24e01af7bb391ba2ddaeb207b90688be6313;hb=df5b86c84d896eb2d74a8757c234492c1d1fc3be;hp=4ac823c017d03754ed545a9a1288df707b84778f;hpb=02b3d1769d5f8a33e4109b1e681141c9295dfda6;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index 4ac823c01..509e24e01 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -206,6 +206,11 @@ struct lttng_consumer_channel { /* Timer value in usec for live streaming. */ unsigned int live_timer_interval; + + int *stream_fds; + int nr_stream_fds; + char root_shm_path[PATH_MAX]; + char shm_path[PATH_MAX]; }; /* @@ -336,6 +341,11 @@ struct lttng_consumer_stream { */ int index_fd; + /* + * Local pipe to extract data when using splice. + */ + int splice_pipe[2]; + /* * Rendez-vous point between data and metadata stream in live mode. */ @@ -451,9 +461,7 @@ struct lttng_consumer_local_data { /* socket to exchange commands with sessiond */ char *consumer_command_sock_path; /* communication with splice */ - int consumer_thread_pipe[2]; int consumer_channel_pipe[2]; - int consumer_splice_metadata_pipe[2]; /* Data stream poll thread pipe. To transfer data stream to the thread */ struct lttng_pipe *consumer_data_pipe; @@ -596,7 +604,9 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key, uint64_t tracefile_count, uint64_t session_id_per_pid, unsigned int monitor, - unsigned int live_timer_interval); + unsigned int live_timer_interval, + const char *root_shm_path, + const char *shm_path); void consumer_del_stream(struct lttng_consumer_stream *stream, struct lttng_ht *ht); void consumer_del_metadata_stream(struct lttng_consumer_stream *stream, @@ -663,8 +673,9 @@ int consumer_send_status_channel(int sock, void notify_thread_del_channel(struct lttng_consumer_local_data *ctx, uint64_t key); void consumer_destroy_relayd(struct consumer_relayd_sock_pair *relayd); -unsigned long consumer_get_consumed_maxsize(unsigned long consumed_pos, - unsigned long produced_pos, uint64_t max_stream_size); +unsigned long consumer_get_consume_start_pos(unsigned long consumed_pos, + unsigned long produced_pos, uint64_t nb_packets_per_stream, + uint64_t max_sb_size); int consumer_add_data_stream(struct lttng_consumer_stream *stream); void consumer_del_stream_for_data(struct lttng_consumer_stream *stream); int consumer_add_metadata_stream(struct lttng_consumer_stream *stream);