]> rtime.felk.cvut.cz Git - frescor/fna.git/commitdiff
express the budget in TIME, so we can do the analysis and when we need the number...
authorsangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Mon, 21 Jul 2008 18:15:00 +0000 (18:15 +0000)
committersangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Mon, 21 Jul 2008 18:15:00 +0000 (18:15 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1311 35b4ef3e-fd22-0410-ab77-dab3279adceb

src_frescan/frescan_bwres_fna.c

index 24c82e7c6fa35883025a9b442a8bda6cf2cdeab8..995e436c5fb1f4b0074e476f5b880afd0b65ffe5 100644 (file)
@@ -917,7 +917,7 @@ int frescan_fna_network_get_max_message_size
 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;
 
@@ -925,15 +925,14 @@ int frescan_fna_network_bytes_to_budget
                 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;
 }
@@ -960,7 +959,7 @@ int frescan_fna_network_bytes_to_budget
  **/
 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;
@@ -969,7 +968,8 @@ int frescan_fna_network_budget_to_bytes
                 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;
 
@@ -1012,7 +1012,7 @@ int frescan_fna_network_get_min_eff_budget
                 return -1;
         }
 
-        budget->tv_sec = 1;
+        *budget = frsh_usec_to_rel_time((long)FRESCAN_FRAME_TX_TIME_US);
 
         return 0;
 }