diff options
author | Julius Bünger <buenger@mytum.de> | 2015-02-17 03:38:40 +0000 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2015-02-17 03:38:40 +0000 |
commit | 5c336ce9a914cdd62982844381fc6b8e77681c46 (patch) | |
tree | 568fcb0e6209a3eb0f1f970b8558af18baa34762 /src/rps/gnunet-service-rps_sampler.c | |
parent | 9678cbd3c4826dda99eb5aff900bee602f5b25ec (diff) |
- fixed logic
Diffstat (limited to 'src/rps/gnunet-service-rps_sampler.c')
-rw-r--r-- | src/rps/gnunet-service-rps_sampler.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rps/gnunet-service-rps_sampler.c b/src/rps/gnunet-service-rps_sampler.c index f1e48d9f8..27c65fff6 100644 --- a/src/rps/gnunet-service-rps_sampler.c +++ b/src/rps/gnunet-service-rps_sampler.c @@ -605,6 +605,7 @@ sampler_get_rand_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { struct GetPeerCls *gpc = (struct GetPeerCls *) cls; struct GNUNET_PeerIdentity tmp_id; + unsigned int empty_flag; struct RPS_SamplerElement *s_elem; struct GNUNET_TIME_Relative last_request_diff; uint32_t tmp_client_get_index; @@ -641,10 +642,12 @@ sampler_get_rand_peer (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) } tmp_id = gpc->sampler->sampler_elements[client_get_index]->peer_id; + empty_flag = gpc->sampler->sampler_elements[client_get_index]->is_empty; RPS_sampler_elem_reinit (gpc->sampler->sampler_elements[client_get_index]); - RPS_sampler_elem_next (gpc->sampler->sampler_elements[client_get_index], - gpc->sampler, - &tmp_id); + if (EMPTY != empty_flag) + RPS_sampler_elem_next (gpc->sampler->sampler_elements[client_get_index], + gpc->sampler, + &tmp_id); /* Cycle the #client_get_index one step further */ if ( client_get_index == gpc->sampler->sampler_size - 1 ) |