return GNUNET_YES;
}
+static void
+rps_disconnect_adapter (void *cls,
+ void *op_result);
static void
cancel_pending_req (struct PendingRequest *pending_req)
cancel_request (pending_rep);
}
pending_req = rps_peers[peer_index].pending_req_head;
- while (NULL != (pending_req = rps_peers[peer_index].pending_req_head))
- {
- cancel_pending_req (pending_req);
- }
- if (NULL != rps_peers[peer_index].rps_handle)
- {
- GNUNET_RPS_disconnect (rps_peers[peer_index].rps_handle);
- rps_peers[peer_index].rps_handle = NULL;
- }
+ rps_disconnect_adapter (&rps_peers[peer_index],
+ &rps_peers[peer_index].rps_handle);
for (unsigned stat_type = STAT_TYPE_ROUNDS;
stat_type < STAT_TYPE_MAX;
stat_type++)
{
struct RPSPeer *peer = cls;
struct GNUNET_RPS_Handle *h = op_result;
+ struct PendingRequest *pending_req;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"disconnect_adapter (%u)\n",
GNUNET_assert (NULL != peer);
if (NULL != peer->rps_handle)
{
+ while (NULL != (pending_req = peer->pending_req_head))
+ {
+ cancel_pending_req (pending_req);
+ }
GNUNET_assert (h == peer->rps_handle);
GNUNET_RPS_disconnect (h);
peer->rps_handle = NULL;