2 * Copyright (C) 2021 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_RATE_POLICY_INTERNAL_H
9 #define LTTNG_RATE_POLICY_INTERNAL_H
11 #include <common/macros.h>
12 #include <common/payload-view.h>
13 #include <lttng/action/rate-policy.h>
14 #include <lttng/lttng-error.h>
23 int lttng_rate_policy_serialize(struct lttng_rate_policy
*rate_policy
,
24 struct lttng_payload
*buf
);
26 ssize_t
lttng_rate_policy_create_from_payload(struct lttng_payload_view
*view
,
27 struct lttng_rate_policy
**rate_policy
);
29 bool lttng_rate_policy_is_equal(const struct lttng_rate_policy
*a
,
30 const struct lttng_rate_policy
*b
);
32 const char *lttng_rate_policy_type_string(
33 enum lttng_rate_policy_type rate_policy_type
);
35 struct lttng_rate_policy
*lttng_rate_policy_copy(
36 const struct lttng_rate_policy
*source
);
38 bool lttng_rate_policy_should_execute(
39 const struct lttng_rate_policy
*policy
, uint64_t counter
);
41 enum lttng_error_code
lttng_rate_policy_mi_serialize(
42 const struct lttng_rate_policy
*policy
,
43 struct mi_writer
*writer
);
49 #endif /* LTTNG_RATE_POLICY */