int frescan_fna_network_bytes_to_budget
(const frsh_resource_id_t resource_id,
const size_t nbytes,
- struct timespec *budget)
+ frsh_rel_time_t *budget)
{
int number_of_packets;
return -1;
}
- // we measure the budget in number of FRESCAN frames (8 bytes)
+ // number of FRESCAN frames (8 bytes)
number_of_packets = (int) ceil((double)nbytes / 8.0);
-
- // we store the budget in number of packets instead of in time. We
- // use a field in the timespec structure.
- budget->tv_sec = number_of_packets;
+ *budget = frsh_usec_to_rel_time((long)FRESCAN_FRAME_TX_TIME_US *
+ number_of_packets);
DEBUG(FRESCAN_FNA_ENABLE_DEBUG,
- "bytes: %d -> budget: %d\n", nbytes, budget->tv_sec);
+ "bytes: %d -> budget: %ld us\n",
+ nbytes, frsh_rel_time_to_usec(*budget));
return 0;
}
**/
int frescan_fna_network_budget_to_bytes
(const frsh_resource_id_t resource_id,
- const struct timespec *budget,
+ const frsh_rel_time_t *budget,
size_t *nbytes)
{
int number_of_packets;
return -1;
}
- number_of_packets = budget->tv_sec;
+ number_of_packets = frsh_rel_time_to_usec(*budget) /
+ FRESCAN_FRAME_TX_TIME_US;
*nbytes = number_of_packets * 8;
return -1;
}
- budget->tv_sec = 1;
+ *budget = frsh_usec_to_rel_time((long)FRESCAN_FRAME_TX_TIME_US);
return 0;
}