X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Factions%2Fstop-session.c;h=ec167d1eda6ed1955cdc7c1b5a38d2d3a47477ef;hb=588c4b0d153e8919b8d9159b69ce0db8fbe52af0;hp=232bd7265362184478f73c3c36a188a7f72c832f;hpb=a5ec75db878313d37198b9b7683c8140f0198998;p=lttng-tools.git diff --git a/src/common/actions/stop-session.c b/src/common/actions/stop-session.c index 232bd7265..ec167d1ed 100644 --- a/src/common/actions/stop-session.c +++ b/src/common/actions/stop-session.c @@ -9,8 +9,8 @@ #include #include #include -#include -#include +#include +#include #include #include @@ -22,7 +22,7 @@ struct lttng_action_stop_session { /* Owned by this. */ char *session_name; - struct lttng_firing_policy *policy; + struct lttng_rate_policy *policy; }; struct lttng_action_stop_session_comm { @@ -38,6 +38,10 @@ struct lttng_action_stop_session_comm { char data[]; } LTTNG_PACKED; +static const struct lttng_rate_policy * +lttng_action_stop_session_internal_get_rate_policy( + const struct lttng_action *action); + static struct lttng_action_stop_session *action_stop_session_from_action( struct lttng_action *action) { @@ -94,7 +98,7 @@ static bool lttng_action_stop_session_is_equal( goto end; } - is_equal = lttng_firing_policy_is_equal(a->policy, b->policy); + is_equal = lttng_rate_policy_is_equal(a->policy, b->policy); end: return is_equal; } @@ -134,8 +138,7 @@ static int lttng_action_stop_session_serialize( goto end; } - ret = lttng_firing_policy_serialize( - action_stop_session->policy, payload); + ret = lttng_rate_policy_serialize(action_stop_session->policy, payload); if (ret) { ret = -1; goto end; @@ -156,7 +159,7 @@ static void lttng_action_stop_session_destroy(struct lttng_action *action) action_stop_session = action_stop_session_from_action(action); - lttng_firing_policy_destroy(action_stop_session->policy); + lttng_rate_policy_destroy(action_stop_session->policy); free(action_stop_session->session_name); free(action_stop_session); @@ -173,7 +176,7 @@ ssize_t lttng_action_stop_session_create_from_payload( const char *session_name; struct lttng_action *action = NULL; enum lttng_action_status status; - struct lttng_firing_policy *policy = NULL; + struct lttng_rate_policy *policy = NULL; comm = (typeof(comm)) view->buffer.data; session_name = (const char *) &comm->data; @@ -186,12 +189,12 @@ ssize_t lttng_action_stop_session_create_from_payload( } consumed_len = sizeof(*comm) + comm->session_name_len; - /* Firing policy. */ + /* Rate policy. */ { struct lttng_payload_view policy_view = lttng_payload_view_from_view( view, consumed_len, -1); - ret = lttng_firing_policy_create_from_payload( + ret = lttng_rate_policy_create_from_payload( &policy_view, &policy); if (ret < 0) { consumed_len = -1; @@ -214,7 +217,7 @@ ssize_t lttng_action_stop_session_create_from_payload( } assert(policy); - status = lttng_action_stop_session_set_firing_policy(action, policy); + status = lttng_action_stop_session_set_rate_policy(action, policy); if (status != LTTNG_ACTION_STATUS_OK) { consumed_len = -1; goto end; @@ -224,7 +227,7 @@ ssize_t lttng_action_stop_session_create_from_payload( action = NULL; end: - lttng_firing_policy_destroy(policy); + lttng_rate_policy_destroy(policy); lttng_action_stop_session_destroy(action); return consumed_len; @@ -233,11 +236,11 @@ end: struct lttng_action *lttng_action_stop_session_create(void) { struct lttng_action *action = NULL; - struct lttng_firing_policy *policy = NULL; + struct lttng_rate_policy *policy = NULL; enum lttng_action_status status; - /* Create a every N = 1 firing policy. */ - policy = lttng_firing_policy_every_n_create(1); + /* Create a every N = 1 rate policy. */ + policy = lttng_rate_policy_every_n_create(1); if (!policy) { goto end; } @@ -251,9 +254,11 @@ struct lttng_action *lttng_action_stop_session_create(void) lttng_action_stop_session_validate, lttng_action_stop_session_serialize, lttng_action_stop_session_is_equal, - lttng_action_stop_session_destroy); + lttng_action_stop_session_destroy, + lttng_action_stop_session_internal_get_rate_policy, + lttng_action_generic_add_error_query_results); - status = lttng_action_stop_session_set_firing_policy(action, policy); + status = lttng_action_stop_session_set_rate_policy(action, policy); if (status != LTTNG_ACTION_STATUS_OK) { free(action); action = NULL; @@ -261,7 +266,7 @@ struct lttng_action *lttng_action_stop_session_create(void) } end: - lttng_firing_policy_destroy(policy); + lttng_rate_policy_destroy(policy); return action; } @@ -312,41 +317,41 @@ end: return status; } -enum lttng_action_status lttng_action_stop_session_set_firing_policy( +enum lttng_action_status lttng_action_stop_session_set_rate_policy( struct lttng_action *action, - const struct lttng_firing_policy *policy) + const struct lttng_rate_policy *policy) { enum lttng_action_status status; struct lttng_action_stop_session *stop_session_action; - struct lttng_firing_policy *copy = NULL; + struct lttng_rate_policy *copy = NULL; if (!action || !policy || !IS_STOP_SESSION_ACTION(action)) { status = LTTNG_ACTION_STATUS_INVALID; goto end; } - copy = lttng_firing_policy_copy(policy); + copy = lttng_rate_policy_copy(policy); if (!copy) { status = LTTNG_ACTION_STATUS_ERROR; goto end; } stop_session_action = action_stop_session_from_action(action); - /* Free the previous firing policy .*/ - lttng_firing_policy_destroy(stop_session_action->policy); + /* Free the previous rate policy .*/ + lttng_rate_policy_destroy(stop_session_action->policy); stop_session_action->policy = copy; status = LTTNG_ACTION_STATUS_OK; copy = NULL; end: - lttng_firing_policy_destroy(copy); + lttng_rate_policy_destroy(copy); return status; } -enum lttng_action_status lttng_action_stop_session_get_firing_policy( +enum lttng_action_status lttng_action_stop_session_get_rate_policy( const struct lttng_action *action, - const struct lttng_firing_policy **policy) + const struct lttng_rate_policy **policy) { enum lttng_action_status status; const struct lttng_action_stop_session *stop_session_action; @@ -363,3 +368,13 @@ enum lttng_action_status lttng_action_stop_session_get_firing_policy( end: return status; } + +static const struct lttng_rate_policy * +lttng_action_stop_session_internal_get_rate_policy( + const struct lttng_action *action) +{ + const struct lttng_action_stop_session *_action; + _action = action_stop_session_from_action_const(action); + + return _action->policy; +}