X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=be532b58789dea028d6919c38a97d3d8d1eedc4d;hb=a79d84dd6bf849361c34616ae9f60786c6a6bf20;hp=53b6151822ba36102b6b6df5a53878ac35b714a7;hpb=63281d5d013d47087217291ba7724d8302fd63e4;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index 53b615182..be532b587 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -57,7 +57,7 @@ enum lttng_consumer_command { /* Inform the consumer to kill a specific relayd connection */ LTTNG_CONSUMER_DESTROY_RELAYD, /* Return to the sessiond if there is data pending for a session */ - LTTNG_CONSUMER_DATA_AVAILABLE, + LTTNG_CONSUMER_DATA_PENDING, }; /* State of each fd in consumer */ @@ -74,6 +74,11 @@ enum lttng_consumer_type { LTTNG_CONSUMER32_UST, }; +enum consumer_endpoint_status { + CONSUMER_ENDPOINT_ACTIVE, + CONSUMER_ENDPOINT_INACTIVE, +}; + struct lttng_consumer_channel { struct lttng_ht_node_ulong node; int key; @@ -150,6 +155,13 @@ struct lttng_consumer_stream { pthread_mutex_t lock; /* Tracing session id */ uint64_t session_id; + /* + * Indicates if the stream end point is still active or not (network + * streaming or local file system). The thread "owning" the stream is + * handling this status and can be notified of a state change through the + * consumer data appropriate pipe. + */ + enum consumer_endpoint_status endpoint_status; }; /* @@ -419,6 +431,6 @@ int consumer_add_relayd_socket(int net_seq_idx, int sock_type, struct pollfd *consumer_sockpoll, struct lttcomm_sock *relayd_sock); void consumer_flag_relayd_for_destroy( struct consumer_relayd_sock_pair *relayd); -int consumer_data_available(uint64_t id); +int consumer_data_pending(uint64_t id); #endif /* LIB_CONSUMER_H */