#include <common/error.hpp>
#include <common/macros.hpp>
#include <common/mi-lttng.hpp>
+
#include <lttng/action/action-internal.hpp>
#include <lttng/action/rate-policy-internal.hpp>
#include <lttng/action/rate-policy.h>
} /* namespace */
static const struct lttng_rate_policy *
-lttng_action_start_session_internal_get_rate_policy(
- const struct lttng_action *action);
+lttng_action_start_session_internal_get_rate_policy(const struct lttng_action *action);
-static struct lttng_action_start_session *action_start_session_from_action(
- struct lttng_action *action)
+static struct lttng_action_start_session *
+action_start_session_from_action(struct lttng_action *action)
{
LTTNG_ASSERT(action);
/* A non-empty session name is mandatory. */
if (!action_start_session->session_name ||
- strlen(action_start_session->session_name) == 0) {
+ strlen(action_start_session->session_name) == 0) {
valid = false;
goto end;
}
return valid;
}
-static bool lttng_action_start_session_is_equal(
- const struct lttng_action *_a, const struct lttng_action *_b)
+static bool lttng_action_start_session_is_equal(const struct lttng_action *_a,
+ const struct lttng_action *_b)
{
bool is_equal = false;
struct lttng_action_start_session *a, *b;
return is_equal;
}
-static int lttng_action_start_session_serialize(
- struct lttng_action *action, struct lttng_payload *payload)
+static int lttng_action_start_session_serialize(struct lttng_action *action,
+ struct lttng_payload *payload)
{
struct lttng_action_start_session *action_start_session;
struct lttng_action_start_session_comm comm;
LTTNG_ASSERT(action_start_session->session_name);
DBG("Serializing start session action: session-name: %s",
- action_start_session->session_name);
+ action_start_session->session_name);
session_name_len = strlen(action_start_session->session_name) + 1;
comm.session_name_len = session_name_len;
goto end;
}
- ret = lttng_dynamic_buffer_append(&payload->buffer,
- action_start_session->session_name, session_name_len);
+ ret = lttng_dynamic_buffer_append(
+ &payload->buffer, action_start_session->session_name, session_name_len);
if (ret) {
ret = -1;
goto end;
}
- ret = lttng_rate_policy_serialize(
- action_start_session->policy, payload);
+ ret = lttng_rate_policy_serialize(action_start_session->policy, payload);
if (ret) {
ret = -1;
goto end;
return;
}
-ssize_t lttng_action_start_session_create_from_payload(
- struct lttng_payload_view *view,
- struct lttng_action **p_action)
+ssize_t lttng_action_start_session_create_from_payload(struct lttng_payload_view *view,
+ struct lttng_action **p_action)
{
ssize_t consumed_len, ret;
const struct lttng_action_start_session_comm *comm;
const char *session_name;
- struct lttng_action *action = NULL;
+ struct lttng_action *action = nullptr;
enum lttng_action_status status;
- struct lttng_rate_policy *policy = NULL;
+ struct lttng_rate_policy *policy = nullptr;
comm = (typeof(comm)) view->buffer.data;
session_name = (const char *) &comm->data;
/* Session name */
- if (!lttng_buffer_view_contains_string(&view->buffer, session_name,
- comm->session_name_len)) {
+ if (!lttng_buffer_view_contains_string(
+ &view->buffer, session_name, comm->session_name_len)) {
consumed_len = -1;
goto end;
}
/* Rate policy. */
{
struct lttng_payload_view policy_view =
- lttng_payload_view_from_view(
- view, consumed_len, -1);
- ret = lttng_rate_policy_create_from_payload(
- &policy_view, &policy);
+ lttng_payload_view_from_view(view, consumed_len, -1);
+ ret = lttng_rate_policy_create_from_payload(&policy_view, &policy);
if (ret < 0) {
consumed_len = -1;
goto end;
goto end;
}
- status = lttng_action_start_session_set_session_name(
- action, session_name);
+ status = lttng_action_start_session_set_session_name(action, session_name);
if (status != LTTNG_ACTION_STATUS_OK) {
consumed_len = -1;
goto end;
}
*p_action = action;
- action = NULL;
+ action = nullptr;
end:
lttng_rate_policy_destroy(policy);
return consumed_len;
}
-static enum lttng_error_code lttng_action_start_session_mi_serialize(
- const struct lttng_action *action, struct mi_writer *writer)
+static enum lttng_error_code
+lttng_action_start_session_mi_serialize(const struct lttng_action *action, struct mi_writer *writer)
{
int ret;
enum lttng_error_code ret_code;
enum lttng_action_status status;
- const char *session_name = NULL;
- const struct lttng_rate_policy *policy = NULL;
+ const char *session_name = nullptr;
+ const struct lttng_rate_policy *policy = nullptr;
LTTNG_ASSERT(action);
LTTNG_ASSERT(IS_START_SESSION_ACTION(action));
- status = lttng_action_start_session_get_session_name(
- action, &session_name);
+ status = lttng_action_start_session_get_session_name(action, &session_name);
LTTNG_ASSERT(status == LTTNG_ACTION_STATUS_OK);
- LTTNG_ASSERT(session_name != NULL);
+ LTTNG_ASSERT(session_name != nullptr);
status = lttng_action_start_session_get_rate_policy(action, &policy);
LTTNG_ASSERT(status == LTTNG_ACTION_STATUS_OK);
- LTTNG_ASSERT(policy != NULL);
+ LTTNG_ASSERT(policy != nullptr);
/* Open action start session element. */
- ret = mi_lttng_writer_open_element(
- writer, mi_lttng_element_action_start_session);
+ ret = mi_lttng_writer_open_element(writer, mi_lttng_element_action_start_session);
if (ret) {
goto mi_error;
}
/* Session name. */
ret = mi_lttng_writer_write_element_string(
- writer, mi_lttng_element_session_name, session_name);
+ writer, mi_lttng_element_session_name, session_name);
if (ret) {
goto mi_error;
}
struct lttng_action *lttng_action_start_session_create(void)
{
- struct lttng_action_start_session *action_start = NULL;
- struct lttng_rate_policy *policy = NULL;
+ struct lttng_action_start_session *action_start = nullptr;
+ struct lttng_rate_policy *policy = nullptr;
enum lttng_action_status status;
/* Create a every N = 1 rate policy. */
}
lttng_action_init(&action_start->parent,
- LTTNG_ACTION_TYPE_START_SESSION,
- lttng_action_start_session_validate,
- lttng_action_start_session_serialize,
- lttng_action_start_session_is_equal,
- lttng_action_start_session_destroy,
- lttng_action_start_session_internal_get_rate_policy,
- lttng_action_generic_add_error_query_results,
- lttng_action_start_session_mi_serialize);
-
- status = lttng_action_start_session_set_rate_policy(
- &action_start->parent, policy);
+ LTTNG_ACTION_TYPE_START_SESSION,
+ lttng_action_start_session_validate,
+ lttng_action_start_session_serialize,
+ lttng_action_start_session_is_equal,
+ lttng_action_start_session_destroy,
+ lttng_action_start_session_internal_get_rate_policy,
+ lttng_action_generic_add_error_query_results,
+ lttng_action_start_session_mi_serialize);
+
+ status = lttng_action_start_session_set_rate_policy(&action_start->parent, policy);
if (status != LTTNG_ACTION_STATUS_OK) {
lttng_action_destroy(&action_start->parent);
- action_start = NULL;
+ action_start = nullptr;
goto end;
}
return &action_start->parent;
}
-enum lttng_action_status lttng_action_start_session_set_session_name(
- struct lttng_action *action, const char *session_name)
+enum lttng_action_status lttng_action_start_session_set_session_name(struct lttng_action *action,
+ const char *session_name)
{
struct lttng_action_start_session *action_start_session;
enum lttng_action_status status;
if (!action || !IS_START_SESSION_ACTION(action) || !session_name ||
- strlen(session_name) == 0) {
+ strlen(session_name) == 0) {
status = LTTNG_ACTION_STATUS_INVALID;
goto end;
}
return status;
}
-enum lttng_action_status lttng_action_start_session_get_session_name(
- const struct lttng_action *action, const char **session_name)
+enum lttng_action_status
+lttng_action_start_session_get_session_name(const struct lttng_action *action,
+ const char **session_name)
{
const struct lttng_action_start_session *action_start_session;
enum lttng_action_status status;
return status;
}
-enum lttng_action_status lttng_action_start_session_set_rate_policy(
- struct lttng_action *action,
- const struct lttng_rate_policy *policy)
+enum lttng_action_status
+lttng_action_start_session_set_rate_policy(struct lttng_action *action,
+ const struct lttng_rate_policy *policy)
{
enum lttng_action_status status;
struct lttng_action_start_session *start_session_action;
- struct lttng_rate_policy *copy = NULL;
+ struct lttng_rate_policy *copy = nullptr;
if (!action || !policy || !IS_START_SESSION_ACTION(action)) {
status = LTTNG_ACTION_STATUS_INVALID;
/* Assign the policy. */
start_session_action->policy = copy;
status = LTTNG_ACTION_STATUS_OK;
- copy = NULL;
+ copy = nullptr;
end:
lttng_rate_policy_destroy(copy);
return status;
}
-enum lttng_action_status lttng_action_start_session_get_rate_policy(
- const struct lttng_action *action,
- const struct lttng_rate_policy **policy)
+enum lttng_action_status
+lttng_action_start_session_get_rate_policy(const struct lttng_action *action,
+ const struct lttng_rate_policy **policy)
{
enum lttng_action_status status;
const struct lttng_action_start_session *start_session_action;
}
static const struct lttng_rate_policy *
-lttng_action_start_session_internal_get_rate_policy(
- const struct lttng_action *action)
+lttng_action_start_session_internal_get_rate_policy(const struct lttng_action *action)
{
const struct lttng_action_start_session *_action;
_action = action_start_session_from_action_const(action);