1,3 → 1,7 |
/** |
@file distributed spare capacity |
*/ |
|
//fsf_distributed_spare_capacity.h |
//===================================================================== |
// FFFFFFIII RRRRR SSTTTTTTT |
20,17 → 24,19 |
|
#define FSF_DISTRIBUTED_SPARE_CAPACITY_MODULE_SUPPORTED 1 |
|
/** |
\ingroup distsparemodule |
|
//This operation sets the granted capacity flag in the contract |
//parameters object pointed to by contract to the boolean specified in |
//granted_capacity_flag. This flag indicates to the scheduler that |
//once the negotiation of the respective contract is finished, the |
//first values for the budget and period given to the corresponding |
//server must not be changed due to the negotiation or renegotiation |
//of any other contract in the system. The period can change, though, |
//if a renegotiation or a change of quality and importance is |
//requested for the corresponding server It fails with |
//FSF_ERR_BAD_ARGUMENT if contract is NULL. |
This operation sets the granted capacity flag in the contract |
parameters object pointed to by contract to the boolean specified |
in granted_capacity_flag. This flag indicates to the scheduler that |
once the negotiation of the respective contract is finished, the |
first values for the budget and period given to the corresponding |
server must not be changed due to the negotiation or renegotiation |
of any other contract in the system. The period can change, though, |
if a renegotiation or a change of quality and importance is |
requested for the corresponding server It fails with |
FSF_ERR_BAD_ARGUMENT if contract is NULL. */ |
int |
fsf_set_contract_granted_capacity_flag |
(fsf_contract_parameters_t *contract, |
37,10 → 43,13 |
bool granted_capacity_flag); |
|
|
//This operation returns in the place pointed to by |
//granted_capacity_flag the value of the corresponding flag in the |
//contract parameters object pointed to by contract. It fails with |
//FSF_ERR_BAD_ARGUMENT if any of the pointers is NULL |
/** |
\ingroup distsparemodule |
|
This operation returns in the place pointed to by |
granted_capacity_flag the value of the corresponding flag in the |
contract parameters object pointed to by contract. It fails with |
FSF_ERR_BAD_ARGUMENT if any of the pointers is NULL */ |
int |
fsf_get_contract_granted_capacity_flag |
(fsf_contract_parameters_t *contract, |
47,21 → 56,24 |
bool *granted_capacity_flag); |
|
|
//This operation is used to return spare capacity that was assigned to |
//a server but that cannot be used due to restrictions in other |
//servers of a distributed transaction. This operation changes the |
//cycle period and budget of the given server to the values given in |
//new_period and new_budget, respectively. It fails with |
//FSF_ERR_BAD_ARGUMENT if the server does not have the |
//granted_capacity flag set, if the new period is less than the |
//current one, or if the new budget is larger than the current one. It |
//also fails with the same error number if the new period is greater |
//than the maximum period currently specified in the contract |
//associated to the server or, similarly, if the new budget is smaller |
//than the minimum budget in the contract. It also fails with the |
//same number if the granularity is discrete and the new period and |
//budget do not match any of the period-budget pairs in the |
//utilization set of the server |
/** |
\ingroup distsparemodule |
|
This operation is used to return spare capacity that was assigned |
to a server but that cannot be used due to restrictions in other |
servers of a distributed transaction. This operation changes the |
cycle period and budget of the given server to the values given in |
new_period and new_budget, respectively. It fails with |
FSF_ERR_BAD_ARGUMENT if the server does not have the |
granted_capacity flag set, if the new period is less than the |
current one, or if the new budget is larger than the current |
one. It also fails with the same error number if the new period is |
greater than the maximum period currently specified in the contract |
associated to the server or, similarly, if the new budget is |
smaller than the minimum budget in the contract. It also fails |
with the same number if the granularity is discrete and the new |
period and budget do not match any of the period-budget pairs in |
the utilization set of the server */ |
int |
fsf_set_server_capacity |
(fsf_server_id_t server, |