X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=46387522ec50c8a9509077f88a06213ef8c7c22e;hp=29836e5b09cf6e25220e20baac2d3fd48b5cfa08;hb=331744e34f56a5aec69b05d356d6901e67926acc;hpb=5d2e1e66a968d9e555f9b8b00d0589ebfaf3de32 diff --git a/src/common/consumer.h b/src/common/consumer.h index 29836e5b0..46387522e 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -52,6 +52,7 @@ enum lttng_consumer_command { LTTNG_CONSUMER_PUSH_METADATA, LTTNG_CONSUMER_CLOSE_METADATA, LTTNG_CONSUMER_SETUP_METADATA, + LTTNG_CONSUMER_FLUSH_CHANNEL, }; /* State of each fd in consumer */ @@ -88,6 +89,9 @@ struct stream_list { unsigned int count; }; +/* Stub. */ +struct consumer_metadata_cache; + struct lttng_consumer_channel { /* HT node used for consumer_data.channel_ht */ struct lttng_ht_node_u64 node; @@ -131,16 +135,17 @@ struct lttng_consumer_channel { * regular channel, this is always set to NULL. */ struct lttng_consumer_stream *metadata_stream; - /* - * Metadata written so far. Helps keeping track of - * contiguousness and order. - */ - uint64_t contig_metadata_written; /* for UST */ int wait_fd; /* Node within channel thread ht */ struct lttng_ht_node_u64 wait_fd_node; + + /* Metadata cache is metadata channel */ + struct consumer_metadata_cache *metadata_cache; + /* For metadata periodical flush */ + int switch_timer_enabled; + timer_t switch_timer; }; /* @@ -321,8 +326,11 @@ struct lttng_consumer_local_data { * < 0 (error) */ int (*on_update_stream)(int sessiond_key, uint32_t state); + enum lttng_consumer_type type; /* socket to communicate errors with sessiond */ int consumer_error_socket; + /* socket to ask metadata to sessiond */ + int consumer_metadata_socket; /* socket to exchange commands with sessiond */ char *consumer_command_sock_path; /* communication with splice */