2 * Copyright (C) 2019 Jérémie Galarneau <jeremie.galarneau@efficios.com>
4 * SPDX-License-Identifier: GPL-2.0-only
8 #ifndef SESSIOND_TRACE_CHUNK_REGISTRY_H
9 #define SESSIOND_TRACE_CHUNK_REGISTRY_H
11 #include <common/uuid.h>
12 #include <common/trace-chunk.h>
15 struct sessiond_trace_chunk_registry
;
17 struct sessiond_trace_chunk_registry
*
18 sessiond_trace_chunk_registry_create(void);
20 void sessiond_trace_chunk_registry_destroy(
21 struct sessiond_trace_chunk_registry
*sessiond_registry
);
23 int sessiond_trace_chunk_registry_session_created(
24 struct sessiond_trace_chunk_registry
*sessiond_registry
,
25 const lttng_uuid sessiond_uuid
);
27 int sessiond_trace_chunk_registry_session_destroyed(
28 struct sessiond_trace_chunk_registry
*sessiond_registry
,
29 const lttng_uuid sessiond_uuid
);
31 struct lttng_trace_chunk
*sessiond_trace_chunk_registry_publish_chunk(
32 struct sessiond_trace_chunk_registry
*sessiond_registry
,
33 const lttng_uuid sessiond_uuid
, uint64_t session_id
,
34 struct lttng_trace_chunk
*chunk
);
36 struct lttng_trace_chunk
*
37 sessiond_trace_chunk_registry_get_anonymous_chunk(
38 struct sessiond_trace_chunk_registry
*sessiond_registry
,
39 const lttng_uuid sessiond_uuid
,
42 struct lttng_trace_chunk
*
43 sessiond_trace_chunk_registry_get_chunk(
44 struct sessiond_trace_chunk_registry
*sessiond_registry
,
45 const lttng_uuid sessiond_uuid
,
46 uint64_t session_id
, uint64_t chunk_id
);
48 int sessiond_trace_chunk_registry_chunk_exists(
49 struct sessiond_trace_chunk_registry
*sessiond_registry
,
50 const lttng_uuid sessiond_uuid
,
51 uint64_t session_id
, uint64_t chunk_id
, bool *chunk_exists
);
53 #endif /* SESSIOND_TRACE_CHUNK_REGISTRY_H */