From: sangorrin Date: Mon, 24 Nov 2008 16:40:15 +0000 (+0000) Subject: add get budget and period X-Git-Url: http://rtime.felk.cvut.cz/gitweb/frescor/fna.git/commitdiff_plain/0525b46e53d059eea41458872d229aa6732acd76 add get budget and period git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1406 35b4ef3e-fd22-0410-ab77-dab3279adceb --- diff --git a/src_frescan/frescan_bwres_fna.c b/src_frescan/frescan_bwres_fna.c index 98f564b..40bad33 100644 --- a/src_frescan/frescan_bwres_fna.c +++ b/src_frescan/frescan_bwres_fna.c @@ -71,6 +71,7 @@ #include "frescan_types.h" #include "fna.h" /* fna_vres_id_t, fna_endpoint_data_t */ #include "frescan_debug.h" /* DEBUG, FRESCAN_ERROR */ +#include "frescan_servers.h" ////////////////////////////////////////////////////////////////////// // INITIALIZATION @@ -192,12 +193,15 @@ int frescan_fna_group_change_mode_sync } DEBUG(FRESCAN_BWRES_FNA_ENABLE_DEBUG, "negotiation accepted\n"); - // convert new ss to fna_vres if (contracts_to_neg != NULL) { new_vres->size = ss_new.size; + DEBUG(FRESCAN_BWRES_FNA_ENABLE_DEBUG, + "new_vres->size:%d\n", new_vres->size); for(i=0; isize; i++) { new_vres->vres[i] = (fna_vres_id_t)ss_new.ss[i]; + DEBUG(FRESCAN_BWRES_FNA_ENABLE_DEBUG, + "new_vres->vres[%d]:%u\n", i, new_vres->vres[i]); } } @@ -545,8 +549,24 @@ int frescan_fna_vres_get_budget_and_period struct timespec *budget, struct timespec *period) { - FRESCAN_ERROR("not implemented\n"); - return -1; + int ret; + frescan_server_params_t server_params; + + ret = frescan_servers_get_data((frescan_network_t)resource_id, + &server_params, + (frescan_ss_t)vres); + if (ret != 0) return ret; + + *budget = frsh_usec_to_rel_time((long)FRESCAN_FRAME_TX_TIME_US * + server_params.budget); + + *period = server_params.period; + + DEBUG(FRESCAN_BWRES_FNA_ENABLE_DEBUG, + "budget(%d packets %ld us\n", + server_params.budget, frsh_rel_time_to_usec(*budget)); + + return 0; } /*@}*/