// TODO API request_cancel
+// TODO don't pass peermap all the time
+
// hist_size_init, hist_size_max
/**
GNUNET_RPS_CADET_PORT,
GNUNET_CADET_OPTION_RELIABLE);
- // do I have to explicitly put it in the peer_map?
- (void) GNUNET_CONTAINER_multipeermap_put
- (peer_map,
- peer,
- peer_ctx,
- GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE);
}
return peer_ctx->send_channel;
}
void
check_peer_live (struct PeerContext *peer_ctx)
{
- (void) get_channel (peer_map, &peer_ctx->peer_id);
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Get informed about peer %s getting live\n",
GNUNET_i2s (&peer_ctx->peer_id));
- if (NULL == peer_ctx->is_live_task)
+
+ if (NULL == peer_ctx->is_live_task &&
+ NULL == peer_ctx->send_channel)
{
+ (void) get_channel (peer_map, &peer_ctx->peer_id);
peer_ctx->is_live_task =
GNUNET_CADET_notify_transmit_ready (peer_ctx->send_channel,
GNUNET_NO,
sizeof (struct GNUNET_MessageHeader),
cadet_ntfy_tmt_rdy_cb,
peer_ctx);
- (void) GNUNET_CONTAINER_multipeermap_put (peer_map,
- &peer_ctx->peer_id,
- peer_ctx,
- GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE);
}
- else
- {
+ else if (NULL != peer_ctx->is_live_task)
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Already waiting for notification\n");
- }
+ else if (NULL != peer_ctx->send_channel)
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Already have established channel to peer\n");
}
* Reply with the view of PeerIDs.
*
* @param cls Closure
- * @param channel The channel the PUSH was received over
+ * @param channel The channel the PULL REQUEST was received over
* @param channel_ctx The context associated with this channel
* @param msg The message header
*/
* Turn RPS service to act malicious.
*
* @param cls Closure
- * @param channel The channel the PUSH was received over
- * @param channel_ctx The context associated with this channel
+ * @param client The client that sent the message
* @param msg The message header
*/
static void