* Number of received PeerIDs
*/
unsigned int num_recv_ids;
+
+ /**
+ * Pending operation on that peer
+ */
+ const struct OpListEntry *entry_op_manage;
};
}
GNUNET_CONTAINER_DLL_remove (oplist_head, oplist_tail, entry);
+ rps_peers[entry->index].entry_op_manage = NULL;
GNUNET_free (entry);
//if (num_peers_in_round[current_round] == peers_running)
// run_round ();
struct OpListEntry *entry;
uint32_t prob;
+ GNUNET_assert (GNUNET_YES == rps_peers[j].online);
+
+ /* make sure that management operation is not already scheduled */
+ if (NULL != rps_peers[j].entry_op_manage)
+ {
+ return;
+ }
+
prob = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
UINT32_MAX);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
entry,
(0 > delta) ? 0 : 1);
}
+ rps_peers[j].entry_op_manage = entry;
}