1,3 → 1,11 |
/** |
@file This file contains the functions and definitions for the core |
module. |
|
The file contains all fuinctions and data structures for the core |
module of the FSF. |
*/ |
|
//fsf_core.h |
//================================================================= |
// FFFFFFIII RRRRR SSTTTTTTT |
11,6 → 19,7 |
// Basic FSF(FIRST Scheduling Framework) contract management |
//================================================================ |
|
|
#include <time.h> |
#include <pthread.h> |
#include <sys/types.h> |
295,8 → 304,8 |
variable managed by the scheduler, and returns a handle to it in |
the variable pointed to by synch_handle. |
|
@param[out] pointer to the variable that will contain the handle to the |
newly created synchronization object |
@param[out] synch_handle pointer to the variable that will contain |
the handle to the newly created synchronization object |
|
@retval 0 if the operation is succesful |
@retval FSF_ERR_BAD_ARGUMENT if synch_handle is 0 |
423,7 → 432,7 |
parameter is set to NULL, no action is |
taken. |
|
@param [out] was_budget_overrun upon return of this function, the |
@param [out] was_budget_overran upon return of this function, the |
variable pointed by this function will be |
equal to true if the previous server budget was |
overrun, to false otherwise. If this |
496,7 → 505,7 |
parameter is set to NULL, no action is |
taken. |
|
@param [out] was_budget_overrun upon return of this function, the |
@param [out] was_budget_overran upon return of this function, the |
variable pointed by this function will be |
equal to true if the previous server budget was |
overrun, to false otherwise. If this |
570,9 → 579,7 |
|
The following functions are used to create servers for a contract |
parameters specification and also to assign one or more threads to |
a server (Note: the current implementation only supports one thread |
per server; this limitation will be removed in the next phase of |
the project) |
a server. |
*/ |
/*@{*/ |
|
778,11 → 785,11 |
@param [out] server server |
|
@retval 0 if the operation is succesful |
@retrun FSF_ERR_NOT_SCHEDULED_THREAD if the given thread is not scheduled |
@return FSF_ERR_NOT_SCHEDULED_THREAD if the given thread is not scheduled |
under the FSF |
@retrun FSF_ERR_UNBOUND if the given thread does not have a valid |
@return FSF_ERR_UNBOUND if the given thread does not have a valid |
server bound to it |
@retrun FSF_ERR_BAD_ARGUMENT if the given thread does not exist or the |
@return FSF_ERR_BAD_ARGUMENT if the given thread does not exist or the |
server argument is NULL |
*/ |
int |
888,7 → 895,7 |
@param [in] new_contract pointer to the new contract to be negotiated |
@param [in] server server id |
@param [in] sig_notify NULL (no signal) or any POSIX signal |
@param [in] sign_value a sigval structure that contains values to be |
@param [in] sig_value a sigval structure that contains values to be |
passed to the signal handler. Valid only if sig_notify |
is different from NULL. |
|
974,7 → 981,7 |
server is is not valid. |
|
@param [in] contracts_up list of contracts to negotiate |
@param [in] contracts_down list of contracts to be canceled |
@param [in] servers_down list of contracts to be canceled |
@param [out] servers_up list of server ids that have been created, they are |
given in the same order as the contract_up list of contracts; |
@param [out] accepted if the operation is succesful; |
994,8 → 1001,8 |
int |
fsf_negotiate_group |
(const fsf_contracts_group_t *contracts_up, |
const fsf_servers_group_t *severs_down, |
fsf_servers_group_t *severs_up, |
const fsf_servers_group_t *servers_down, |
fsf_servers_group_t *servers_up, |
bool *accepted); |
|
|
1116,9 → 1123,6 |
These functions are to the initialization and tuning of the service |
thread. |
|
@todo specify that the default budget and periods are in the |
configuration file. |
|
Implementation dependency: in the fixed priority implementation of |
fsf, the default priority is lower than the priority of any server, |
but higher than the background. According to the |