X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.h;h=f75246d36970e6e4b193c427a7ab7e09ee044d84;hb=920f2ddba471d1fe16fe7e6f2d8cb9e0af34f047;hp=4770671c003a35f40d67ce4d85f199587323e93f;hpb=e426953dec50bddc01baee1113952e66e0894321;p=lttng-tools.git diff --git a/src/common/consumer/consumer.h b/src/common/consumer/consumer.h index 4770671c0..f75246d36 100644 --- a/src/common/consumer/consumer.h +++ b/src/common/consumer/consumer.h @@ -64,6 +64,7 @@ enum lttng_consumer_command { LTTNG_CONSUMER_CLOSE_TRACE_CHUNK, LTTNG_CONSUMER_TRACE_CHUNK_EXISTS, LTTNG_CONSUMER_CLEAR_CHANNEL, + LTTNG_CONSUMER_OPEN_CHANNEL_PACKETS, }; enum lttng_consumer_type { @@ -88,6 +89,12 @@ enum consumer_channel_type { CONSUMER_CHANNEL_TYPE_DATA = 1, }; +enum sync_metadata_status { + SYNC_METADATA_STATUS_NEW_DATA, + SYNC_METADATA_STATUS_NO_DATA, + SYNC_METADATA_STATUS_ERROR, +}; + extern struct lttng_consumer_global_data consumer_data; struct stream_list { @@ -590,6 +597,9 @@ struct lttng_consumer_stream { */ uint64_t rotate_position; + /* Whether or not a packet was opened during the current trace chunk. */ + bool opened_packet_in_current_trace_chunk; + /* * Read-only copies of channel values. We cannot safely access the * channel from a stream, so we need to have a local copy of these @@ -1039,5 +1049,8 @@ enum lttcomm_return_code lttng_consumer_init_command( struct lttng_consumer_local_data *ctx, const lttng_uuid sessiond_uuid); int lttng_consumer_clear_channel(struct lttng_consumer_channel *channel); +enum lttcomm_return_code lttng_consumer_open_channel_packets( + struct lttng_consumer_channel *channel); +int consumer_metadata_wakeup_pipe(const struct lttng_consumer_channel *channel); #endif /* LIB_CONSUMER_H */