X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=43989e4c55757d760cad1b4fdf93ca29b739453c;hb=17e7527387f4c002b6e20d6b09444ce521f8117f;hp=46387522ec50c8a9509077f88a06213ef8c7c22e;hpb=331744e34f56a5aec69b05d356d6901e67926acc;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index 46387522e..43989e4c5 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -146,6 +146,11 @@ struct lttng_consumer_channel { /* For metadata periodical flush */ int switch_timer_enabled; timer_t switch_timer; + int switch_timer_error; + + /* On-disk circular buffer */ + uint64_t tracefile_size; + uint64_t tracefile_count; }; /* @@ -233,6 +238,9 @@ struct lttng_consumer_stream { /* Internal state of libustctl. */ struct ustctl_consumer_stream *ustream; struct cds_list_head send_node; + /* On-disk circular buffer */ + uint64_t tracefile_size_current; + uint64_t tracefile_count_current; }; /* @@ -263,14 +271,14 @@ struct consumer_relayd_sock_pair { pthread_mutex_t ctrl_sock_mutex; /* Control socket. Command and metadata are passed over it */ - struct lttcomm_sock control_sock; + struct lttcomm_relayd_sock control_sock; /* * We don't need a mutex at this point since we only splice or write single * large chunk of data with a header appended at the begining. Moreover, * this socket is for now only used in a single thread. */ - struct lttcomm_sock data_sock; + struct lttcomm_relayd_sock data_sock; struct lttng_ht_node_u64 node; /* Session id on both sides for the sockets. */ @@ -460,7 +468,9 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key, uid_t uid, gid_t gid, int relayd_id, - enum lttng_event_output output); + enum lttng_event_output output, + uint64_t tracefile_size, + uint64_t tracefile_count); void consumer_del_stream(struct lttng_consumer_stream *stream, struct lttng_ht *ht); void consumer_del_metadata_stream(struct lttng_consumer_stream *stream, @@ -509,7 +519,7 @@ ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream, int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream); int consumer_add_relayd_socket(int net_seq_idx, int sock_type, struct lttng_consumer_local_data *ctx, int sock, - struct pollfd *consumer_sockpoll, struct lttcomm_sock *relayd_sock, + struct pollfd *consumer_sockpoll, struct lttcomm_relayd_sock *relayd_sock, unsigned int sessiond_id); void consumer_flag_relayd_for_destroy( struct consumer_relayd_sock_pair *relayd); @@ -517,5 +527,7 @@ int consumer_data_pending(uint64_t id); int consumer_send_status_msg(int sock, int ret_code); int consumer_send_status_channel(int sock, struct lttng_consumer_channel *channel); +void notify_thread_del_channel(struct lttng_consumer_local_data *ctx, + uint64_t key); #endif /* LIB_CONSUMER_H */