Main Page | Modules | Data Structures | File List | Data Fields | Globals

Distributed spare capacity module


Functions

int fsf_set_contract_granted_capacity_flag (fsf_contract_parameters_t *contract, bool granted_capacity_flag)
int fsf_get_contract_granted_capacity_flag (fsf_contract_parameters_t *contract, bool *granted_capacity_flag)
int fsf_set_server_capacity (fsf_server_id_t server, const struct timespec *new_period, const struct timespec *new_budget)

Detailed Description

:

Function Documentation

int fsf_get_contract_granted_capacity_flag fsf_contract_parameters_t contract,
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.

Parameters:
in] contract the pointer to the contract object
in] granted_capacity_flag pointer to the variable that will contain the boolean value of the granted_capacity_flag
Return values:
FSF_ERR_BAD_ARGUMENT : if any of the pointers is NULL

int fsf_set_contract_granted_capacity_flag fsf_contract_parameters_t contract,
bool  granted_capacity_flag
 

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.

Parameters:
contract the pointer to the contract object
in] granted_capacity_flag boolean value set to true to avoid the change in the period due to changes in other servers
Return values:
FSF_ERR_BAD_ARGUMENT : if contract is NULL

int fsf_set_server_capacity fsf_server_id_t  server,
const struct timespec *  new_period,
const struct timespec *  new_budget
 

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.

Parameters:
[in] server server id
[in] new_period pointer to the new period value
[in] new_budget pointer to the new budget value
Return values:
FSF_ERR_BAD_ARGUMENT : if (the server does not have the granted_capacity flag set) or (the new period is less than the current one), or (the new budget is larger than the current one), or (the new period is greater than the maximum period currently specified in the contract associated to the server), or (the new budget is smaller than the minimum budget in the contract) or (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).


Generated on Tue Apr 5 17:01:26 2005 for FSF by doxygen 1.3.4