From 4c6c3ef78b6e5875b15d9b0258508ca4f0263835 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Fri, 26 Jun 2015 10:07:06 +0000 Subject: - try to retransmit in case of core error --- src/cadet/gnunet-service-cadet_peer.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c index 8003c05cd..f99ce482f 100644 --- a/src/cadet/gnunet-service-cadet_peer.c +++ b/src/cadet/gnunet-service-cadet_peer.c @@ -754,7 +754,7 @@ peer_destroy (struct CadetPeer *peer) /** - * Iterator over peer hash map entries to destroy the peer during shutdown. + * Iterator over peer hash map entries to destroy the peer during in_shutdown. * * @param cls closure * @param key current key code @@ -1155,8 +1155,26 @@ queue_send (void *cls, size_t size, void *buf) /* Sanity checking */ if (NULL == buf || 0 == size) { - peer->tmt_time.abs_value_us = 0; - peer->core_transmit = NULL; + LOG (GNUNET_ERROR_TYPE_DEBUG, " not allowed/\n"); + if (GNUNET_NO == in_shutdown) + { + queue = peer_get_first_message (peer); + dst_id = GNUNET_PEER_resolve2 (peer->id); + peer->core_transmit = + GNUNET_CORE_notify_transmit_ready (core_handle, + GNUNET_NO, get_priority (queue), + GNUNET_TIME_UNIT_FOREVER_REL, + dst_id, + get_core_size (queue->size), + &queue_send, + peer); + peer->tmt_time = GNUNET_TIME_absolute_get (); + } + else + { + peer->core_transmit = NULL; + peer->tmt_time.abs_value_us = 0; + } return 0; } -- cgit v1.2.3