+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_request_count(struct lttng_action *action)
+{
+ action->execution_request_counter++;
+}
+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_count(struct lttng_action *action)
+{
+ action->execution_counter++;
+}
+
+LTTNG_HIDDEN
+void lttng_action_increase_execution_failure_count(struct lttng_action *action)
+{
+ action->execution_failure_counter++;
+}
+
+LTTNG_HIDDEN
+bool lttng_action_should_execute(const struct lttng_action *action)
+{
+ const struct lttng_firing_policy *policy = NULL;
+ bool execute = false;
+
+ if (action->get_firing_policy == NULL) {
+ execute = true;
+ goto end;
+ }
+
+ policy = action->get_firing_policy(action);
+ if (policy == NULL) {
+ execute = true;
+ goto end;
+ }
+
+ execute = lttng_firing_policy_should_execute(
+ policy, action->execution_request_counter);
+end:
+ return execute;
+}