#include <common/trace-chunk-registry.h>
#include <common/credentials.h>
#include <common/buffer-view.h>
+#include <common/dynamic-array.h>
struct lttng_consumer_local_data;
LTTNG_CONSUMER_CLOSE_TRACE_CHUNK,
LTTNG_CONSUMER_TRACE_CHUNK_EXISTS,
LTTNG_CONSUMER_CLEAR_CHANNEL,
+ LTTNG_CONSUMER_OPEN_CHANNEL_PACKETS,
};
enum lttng_consumer_type {
*/
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
reset_metadata_cb reset_metadata;
consume_subbuffer_cb consume_subbuffer;
put_next_subbuffer_cb put_next_subbuffer;
- post_consume_cb post_consume;
+ struct lttng_dynamic_array post_consume_cbs;
send_live_beacon_cb send_live_beacon;
on_sleep_cb on_sleep;
unlock_cb unlock;
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 */