Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 686 → Rev 687

/shark/trunk/ports/first/first-server.c
135,24 → 135,13
 
}
 
int relink_contract_to_server(const fsf_contract_parameters_t *contract,
fsf_server_id_t server)
{
void contract_to_server(const fsf_contract_parameters_t *contract, int i) {
 
TIME T,Q;
int i=0;
#ifdef FSF_DEBUG
int temp;
kern_printf("(Relink Server %d)",server);
#endif
// find contract
while(i<current_server) {
if (server_list[i].server==server) break;
i++;
}
 
server_list[i].server=server;
server_list[i].Qs=1;
T=TIMESPEC2USEC(&contract->period_min);
Q=TIMESPEC2USEC(&contract->budget_max);
mul32div32to32(MAX_BANDWIDTH,Q,T,server_list[current_server].Umax);
184,6 → 173,27
kern_printf("(Umin %d)",temp);
#endif
 
}
 
int relink_contract_to_server(const fsf_contract_parameters_t *contract,
fsf_server_id_t server)
{
int i=0;
#ifdef FSF_DEBUG
kern_printf("(Relink Server %d)",server);
#endif
// find contract
while(i<current_server) {
if (server_list[i].server==server) break;
i++;
}
 
server_list[i].server=server;
server_list[i].Qs=1;
contract_to_server(contract, i);
 
 
return 0;
}
191,10 → 201,7
int link_contract_to_server(const fsf_contract_parameters_t *contract,
fsf_server_id_t server)
{
TIME T,Q;
#ifdef FSF_DEBUG
int temp;
 
kern_printf("(Link Server %d)",server);
#endif
201,38 → 208,8
server_list[current_server].server=server;
server_list[current_server].Qs=1;
T=TIMESPEC2USEC(&contract->period_min);
Q=TIMESPEC2USEC(&contract->budget_max);
mul32div32to32(MAX_BANDWIDTH,Q,T,server_list[current_server].Umax);
contract_to_server(contract,current_server);
T=TIMESPEC2USEC(&contract->period_min);
server_list[current_server].Tmin=T;
 
T=TIMESPEC2USEC(&contract->period_max);
server_list[current_server].Tmax=T;
Q=TIMESPEC2USEC(&contract->budget_min);
server_list[current_server].Cmin=Q;
mul32div32to32(MAX_BANDWIDTH,Q,T,server_list[current_server].Umin);
server_list[current_server].U=server_list[current_server].Umin;
 
if (contract->d_equals_t == TRUE) {
server_list[current_server].deadline = 0;
server_list[current_server].d_equals_t = TRUE;
} else {
server_list[current_server].deadline = TIMESPEC2USEC(&contract->deadline);
server_list[current_server].d_equals_t = FALSE;
}
 
#ifdef FSF_DEBUG
mul32div32to32(server_list[current_server].Umax,100, MAX_BANDWIDTH, temp);
kern_printf("(Umax %d)",temp);
mul32div32to32(server_list[current_server].Umin,100, MAX_BANDWIDTH, temp);
kern_printf("(Umin %d)",temp);
#endif
current_server++;
return 0;