diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-07-07 09:53:14 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-07-07 09:53:14 +0000 |
commit | 5d7a52c9662c9de88312e2701d5c29a70d03c7e6 (patch) | |
tree | edb4877d17d67799460514983cea89b2ce0b955f /src/transport/transport_ats.c | |
parent | b9499579bee2eff59d998ae0546a84b40fa5bebd (diff) | |
download | gnunet-5d7a52c9662c9de88312e2701d5c29a70d03c7e6.tar.gz gnunet-5d7a52c9662c9de88312e2701d5c29a70d03c7e6.zip |
splitting transport service and ats
Diffstat (limited to 'src/transport/transport_ats.c')
-rw-r--r-- | src/transport/transport_ats.c | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/src/transport/transport_ats.c b/src/transport/transport_ats.c index fdd8126cd..e04bc9797 100644 --- a/src/transport/transport_ats.c +++ b/src/transport/transport_ats.c | |||
@@ -730,7 +730,10 @@ static void _dummy () | |||
730 | 730 | ||
731 | static void _dummy2 () | 731 | static void _dummy2 () |
732 | { | 732 | { |
733 | ats_modify_problem_state (NULL, 0); | ||
733 | _dummy(); | 734 | _dummy(); |
735 | int t = ATS_COST_UPDATED + ATS_MODIFIED + ATS_NEW; | ||
736 | t = 0; | ||
734 | } | 737 | } |
735 | 738 | ||
736 | /* | 739 | /* |
@@ -765,7 +768,6 @@ struct ATS_Handle * ats_init (const struct GNUNET_CONFIGURATION_Handle *cfg) | |||
765 | ats->exec_interval = ATS_EXEC_INTERVAL; | 768 | ats->exec_interval = ATS_EXEC_INTERVAL; |
766 | ats->max_exec_duration = ATS_MAX_EXEC_DURATION; | 769 | ats->max_exec_duration = ATS_MAX_EXEC_DURATION; |
767 | ats->max_iterations = ATS_MAX_ITERATIONS; | 770 | ats->max_iterations = ATS_MAX_ITERATIONS; |
768 | ats->ats_task = GNUNET_SCHEDULER_NO_TASK; | ||
769 | 771 | ||
770 | ats->D = 1.0; | 772 | ats->D = 1.0; |
771 | ats->U = 1.0; | 773 | ats->U = 1.0; |
@@ -1497,8 +1499,38 @@ void ats_delete_problem (struct ATS_Handle * ats) | |||
1497 | ats->stat.valid = GNUNET_SYSERR; | 1499 | ats->stat.valid = GNUNET_SYSERR; |
1498 | } | 1500 | } |
1499 | 1501 | ||
1502 | void ats_modify_problem_state (struct ATS_Handle * ats, enum ATS_problem_state s) | ||
1503 | { | ||
1504 | if (ats == NULL) | ||
1505 | return; | ||
1506 | switch (s) | ||
1507 | { | ||
1508 | case ATS_NEW : | ||
1509 | ats->stat.recreate_problem = GNUNET_NO; | ||
1510 | ats->stat.modified_quality = GNUNET_NO; | ||
1511 | ats->stat.modified_resources = GNUNET_NO; | ||
1512 | break; | ||
1513 | case ATS_MODIFIED: | ||
1514 | ats->stat.recreate_problem = GNUNET_YES; | ||
1515 | break; | ||
1516 | case ATS_QUALITY_UPDATED : | ||
1517 | ats->stat.modified_quality = GNUNET_YES; | ||
1518 | break; | ||
1519 | case ATS_COST_UPDATED : | ||
1520 | ats->stat.modified_resources = GNUNET_YES; | ||
1521 | break; | ||
1522 | case ATS_QUALITY_COST_UPDATED: | ||
1523 | ats->stat.modified_resources = GNUNET_YES; | ||
1524 | ats->stat.modified_quality = GNUNET_YES; | ||
1525 | break; | ||
1526 | default: | ||
1527 | return; | ||
1528 | } | ||
1529 | |||
1500 | 1530 | ||
1501 | 1531 | ||
1532 | } | ||
1533 | |||
1502 | void ats_solve_problem (struct ATS_Handle * ats, | 1534 | void ats_solve_problem (struct ATS_Handle * ats, |
1503 | unsigned int max_it, | 1535 | unsigned int max_it, |
1504 | unsigned int max_dur, | 1536 | unsigned int max_dur, |
@@ -1646,9 +1678,6 @@ void ats_shutdown (struct ATS_Handle * ats) | |||
1646 | #if DEBUG_ATS | 1678 | #if DEBUG_ATS |
1647 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ATS shutdown\n"); | 1679 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "ATS shutdown\n"); |
1648 | #endif | 1680 | #endif |
1649 | if (ats->ats_task != GNUNET_SCHEDULER_NO_TASK) | ||
1650 | GNUNET_SCHEDULER_cancel(ats->ats_task); | ||
1651 | ats->ats_task = GNUNET_SCHEDULER_NO_TASK; | ||
1652 | ats_delete_problem (ats); | 1681 | ats_delete_problem (ats); |
1653 | _lp_free_env(); | 1682 | _lp_free_env(); |
1654 | 1683 | ||
@@ -1864,15 +1893,15 @@ ats_calculate_bandwidth_distribution (struct ATS_Handle * ats, | |||
1864 | GNUNET_STATISTICS_set (stats, "ATS state",ATS_NEW, GNUNET_NO); | 1893 | GNUNET_STATISTICS_set (stats, "ATS state",ATS_NEW, GNUNET_NO); |
1865 | else if ((ats->stat.modified_resources == GNUNET_YES) && | 1894 | else if ((ats->stat.modified_resources == GNUNET_YES) && |
1866 | (ats->stat.modified_quality == GNUNET_NO)) | 1895 | (ats->stat.modified_quality == GNUNET_NO)) |
1867 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_C_UPDATED, GNUNET_NO); | 1896 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_COST_UPDATED, GNUNET_NO); |
1868 | else if ((ats->stat.modified_resources == GNUNET_NO) && | 1897 | else if ((ats->stat.modified_resources == GNUNET_NO) && |
1869 | (ats->stat.modified_quality == GNUNET_YES) && | 1898 | (ats->stat.modified_quality == GNUNET_YES) && |
1870 | (ats->stat.simplex_rerun_required == GNUNET_NO)) | 1899 | (ats->stat.simplex_rerun_required == GNUNET_NO)) |
1871 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_Q_UPDATED, GNUNET_NO); | 1900 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_QUALITY_UPDATED, GNUNET_NO); |
1872 | else if ((ats->stat.modified_resources == GNUNET_YES) && | 1901 | else if ((ats->stat.modified_resources == GNUNET_YES) && |
1873 | (ats->stat.modified_quality == GNUNET_YES) && | 1902 | (ats->stat.modified_quality == GNUNET_YES) && |
1874 | (ats->stat.simplex_rerun_required == GNUNET_NO)) | 1903 | (ats->stat.simplex_rerun_required == GNUNET_NO)) |
1875 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_QC_UPDATED, GNUNET_NO); | 1904 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_QUALITY_COST_UPDATED, GNUNET_NO); |
1876 | else if (ats->stat.simplex_rerun_required == GNUNET_NO) | 1905 | else if (ats->stat.simplex_rerun_required == GNUNET_NO) |
1877 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_UNMODIFIED, GNUNET_NO); | 1906 | GNUNET_STATISTICS_set (stats, "ATS state", ATS_UNMODIFIED, GNUNET_NO); |
1878 | } | 1907 | } |