diff options
author | Julius Bünger <buenger@mytum.de> | 2015-08-02 17:48:51 +0000 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2015-08-02 17:48:51 +0000 |
commit | 1f4b318b6e79a83800415c441465fd6b8c1c4a85 (patch) | |
tree | 0ca6f3ac45a05ba461dec49ee28969a7829549cd /src/rps/test_rps.c | |
parent | ad63b02064fb479339eb6cadff25923cebd730ff (diff) | |
download | gnunet-1f4b318b6e79a83800415c441465fd6b8c1c4a85.tar.gz gnunet-1f4b318b6e79a83800415c441465fd6b8c1c4a85.zip |
-fixes
Diffstat (limited to 'src/rps/test_rps.c')
-rw-r--r-- | src/rps/test_rps.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/rps/test_rps.c b/src/rps/test_rps.c index 3d3853d64..683f2e8a3 100644 --- a/src/rps/test_rps.c +++ b/src/rps/test_rps.c | |||
@@ -718,7 +718,8 @@ default_reply_handle (void *cls, | |||
718 | i, | 718 | i, |
719 | GNUNET_i2s (&recv_peers[i])); | 719 | GNUNET_i2s (&recv_peers[i])); |
720 | 720 | ||
721 | GNUNET_array_append (rps_peer->rec_ids, rps_peer->num_rec_ids, recv_peers[i]); | 721 | /* GNUNET_array_append (rps_peer->rec_ids, rps_peer->num_rec_ids, recv_peers[i]); */ |
722 | rps_peer->num_rec_ids++; | ||
722 | } | 723 | } |
723 | 724 | ||
724 | if (0 == evaluate ()) | 725 | if (0 == evaluate ()) |
@@ -821,6 +822,12 @@ schedule_missing_requests (struct RPSPeer *rps_peer) | |||
821 | unsigned int i; | 822 | unsigned int i; |
822 | struct PendingRequest *pending_req; | 823 | struct PendingRequest *pending_req; |
823 | 824 | ||
825 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
826 | "Scheduling %u - %u missing requests\n", | ||
827 | rps_peer->num_ids_to_request, | ||
828 | rps_peer->num_pending_reqs + rps_peer->num_pending_reps); | ||
829 | GNUNET_assert (rps_peer->num_pending_reqs + rps_peer->num_pending_reps <= | ||
830 | rps_peer->num_ids_to_request); | ||
824 | for (i = rps_peer->num_pending_reqs + rps_peer->num_pending_reps; | 831 | for (i = rps_peer->num_pending_reqs + rps_peer->num_pending_reps; |
825 | i < rps_peer->num_ids_to_request; i++) | 832 | i < rps_peer->num_ids_to_request; i++) |
826 | { | 833 | { |
@@ -841,6 +848,8 @@ schedule_missing_requests (struct RPSPeer *rps_peer) | |||
841 | void | 848 | void |
842 | cancel_pending_req_rep (struct RPSPeer *rps_peer) | 849 | cancel_pending_req_rep (struct RPSPeer *rps_peer) |
843 | { | 850 | { |
851 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
852 | "Cancelling all (pending) requests.\n"); | ||
844 | while (NULL != rps_peer->pending_req_head) | 853 | while (NULL != rps_peer->pending_req_head) |
845 | cancel_pending_req (rps_peer->pending_req_head); | 854 | cancel_pending_req (rps_peer->pending_req_head); |
846 | GNUNET_assert (0 == rps_peer->num_pending_reqs); | 855 | GNUNET_assert (0 == rps_peer->num_pending_reqs); |
@@ -1072,14 +1081,16 @@ manage_service_wrapper (unsigned int i, unsigned int j, int delta, | |||
1072 | i, | 1081 | i, |
1073 | j, | 1082 | j, |
1074 | GNUNET_i2s (rps_peers[j].peer_id), | 1083 | GNUNET_i2s (rps_peers[j].peer_id), |
1075 | (delta < 0)? "online" : "offline"); | 1084 | (0 > delta) ? "online" : "offline"); |
1076 | if (prob < prob_go_on_off * UINT32_MAX) | 1085 | if (prob < prob_go_on_off * UINT32_MAX) |
1077 | { | 1086 | { |
1078 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 1087 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
1079 | "%s goes %s\n", | 1088 | "%s goes %s\n", |
1080 | GNUNET_i2s (rps_peers[j].peer_id), | 1089 | GNUNET_i2s (rps_peers[j].peer_id), |
1081 | (delta < 0) ? "offline" : "online"); | 1090 | (0 > delta) ? "offline" : "online"); |
1082 | 1091 | ||
1092 | if (0 > delta) | ||
1093 | cancel_pending_req_rep (&rps_peers[j]); | ||
1083 | entry = make_oplist_entry (); | 1094 | entry = make_oplist_entry (); |
1084 | entry->delta = delta; | 1095 | entry->delta = delta; |
1085 | entry->index = j; | 1096 | entry->index = j; |
@@ -1088,7 +1099,7 @@ manage_service_wrapper (unsigned int i, unsigned int j, int delta, | |||
1088 | "rps", | 1099 | "rps", |
1089 | &churn_cb, | 1100 | &churn_cb, |
1090 | entry, | 1101 | entry, |
1091 | (delta < 0) ? 0 : 1); | 1102 | (0 > delta) ? 0 : 1); |
1092 | } | 1103 | } |
1093 | } | 1104 | } |
1094 | 1105 | ||
@@ -1133,7 +1144,6 @@ churn (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
1133 | /* If online, shut down with certain probability */ | 1144 | /* If online, shut down with certain probability */ |
1134 | if (GNUNET_YES == rps_peers[j].online) | 1145 | if (GNUNET_YES == rps_peers[j].online) |
1135 | { | 1146 | { |
1136 | cancel_pending_req_rep (&rps_peers[j]); | ||
1137 | manage_service_wrapper (i, j, -1, prob_go_offline); | 1147 | manage_service_wrapper (i, j, -1, prob_go_offline); |
1138 | } | 1148 | } |
1139 | 1149 | ||
@@ -1203,11 +1213,7 @@ profiler_reply_handle (void *cls, | |||
1203 | "%" PRIu32 "\n", | 1213 | "%" PRIu32 "\n", |
1204 | (uint32_t) rcv_rps_peer->index); | 1214 | (uint32_t) rcv_rps_peer->index); |
1205 | } | 1215 | } |
1206 | /* Find #PendingReply holding the request handle */ | 1216 | default_reply_handle (cls, n, recv_peers); |
1207 | GNUNET_CONTAINER_DLL_remove (rps_peer->pending_rep_head, | ||
1208 | rps_peer->pending_rep_tail, | ||
1209 | pending_rep); | ||
1210 | rps_peer->num_pending_reps--; | ||
1211 | } | 1217 | } |
1212 | 1218 | ||
1213 | 1219 | ||