X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsession.h;h=1a68d8e2fdd72c2c73264126122a712950a3ca37;hb=4878de5c7deb512bbdac4fdfc498907efa06fb7c;hp=9b790c1fe94df7911db72b2f9674eee7a089b138;hpb=32aef76c03b38dfb5f423299357c478147358af4;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/session.h b/src/bin/lttng-sessiond/session.h index 9b790c1fe..1a68d8e2f 100644 --- a/src/bin/lttng-sessiond/session.h +++ b/src/bin/lttng-sessiond/session.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 EfficiOS Inc. * * SPDX-License-Identifier: GPL-2.0-only * @@ -145,6 +145,10 @@ struct ltt_session { * Node in ltt_sessions_ht_by_id. */ struct lttng_ht_node_u64 node; + /* + * Node in ltt_sessions_ht_by_name. + */ + struct lttng_ht_node_str node_by_name; /* * Timer to check periodically if a relay and/or consumer has completed * the last rotation. @@ -206,7 +210,7 @@ void session_unlock(struct ltt_session *session); * also used as a multi-session lock when synchronizing newly-registered * 'user space tracer' and 'agent' applications. * - * In other words, it prevents session configurations from changing while they + * In other words, it prevents tracer configurations from changing while they * are being transmitted to the various applications. */ void session_lock_list(void); @@ -278,4 +282,15 @@ enum lttng_error_code session_open_packets(struct ltt_session *session); bool session_output_supports_trace_chunks(const struct ltt_session *session); +/* + * Sample the id of a session looked up via its name. + * Here the term "sampling" hint the caller that this return the id at a given + * point in time with no guarantee that the session for which the id was + * sampled still exist at that point. + * + * Return 0 when the session is not found, + * Return 1 when the session is found and set `id`. + */ +bool sample_session_id_by_name(const char *name, uint64_t *id); + #endif /* _LTT_SESSION_H */