* Insert PeerID in #view
*
* Called once we know a peer is live.
+ * Implements #PeerOp
*/
static void
insert_in_view (void *cls,
const struct GNUNET_PeerIdentity *peer)
{
+ GNUNET_assert (GNUNET_YES == Peers_check_peer_flag (peer, Peers_ONLINE));
View_put (peer);
}
/**
* Update sampler with given PeerID.
+ * Implements #PeerOp
*/
static void
insert_in_sampler (void *cls,
}
}
+/**
+ * @brief If @a peer was unknown, check liveliness and insert it in view and
+ * sampler
+ *
+ * @param peer peer to insert
+ */
+static void
+got_peer (const struct GNUNET_PeerIdentity *peer)
+{
+ /* If we did not know this peer already, insert it into sampler and view */
+ if (GNUNET_YES == Peers_insert_peer_check_liveliness (peer))
+ {
+ Peers_schedule_operation (peer, insert_in_sampler);
+ Peers_schedule_operation (peer, insert_in_view);
+ }
+}
+
/**
* @brief Checks if there is a sending channel and if it is needed
i,
GNUNET_i2s (&peers[i]));
- if (GNUNET_YES == Peers_insert_peer_check_liveliness (&peers[i]))
- {
- Peers_schedule_operation (&peers[i], insert_in_sampler);
- Peers_schedule_operation (&peers[i], insert_in_view);
- }
+ got_peer (&peers[i]);
//RPS_sampler_update (prot_sampler, &peers[i]);
//RPS_sampler_update (client_sampler, &peers[i]);
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Got peer_id %s from cadet\n",
GNUNET_i2s (peer));
- Peers_insert_peer_check_liveliness (peer);
- Peers_schedule_operation (peer, insert_in_sampler);
- Peers_schedule_operation (peer, insert_in_view);
+ got_peer (peer);
}
}
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Got peer_id %s from peerinfo\n",
GNUNET_i2s (peer));
- Peers_insert_peer_check_liveliness (peer);
- Peers_schedule_operation (peer, insert_in_sampler);
- Peers_schedule_operation (peer, insert_in_view);
+ got_peer (peer);
}
}