}
+/**
+ * Free a queue entry. Removes the given entry from the
+ * queue and releases associated resources. Does NOT
+ * call the callback.
+ *
+ * @param qe entry to free.
+ */
static void
free_queue_entry (struct GNUNET_DATASTORE_QueueEntry *qe)
{
GNUNET_free (qe);
}
+
/**
* Type of a function to call when we receive a message
* from the service.
#endif
free_queue_entry (qe);
h->retry_time.rel_value = 0;
- rc.proc (rc.proc_cls,
- &dm->key,
- ntohl(dm->size),
- &dm[1],
- ntohl(dm->type),
- ntohl(dm->priority),
- ntohl(dm->anonymity),
- GNUNET_TIME_absolute_ntoh(dm->expiration),
- GNUNET_ntohll(dm->uid));
+ if (rc.proc != NULL)
+ rc.proc (rc.proc_cls,
+ &dm->key,
+ ntohl(dm->size),
+ &dm[1],
+ ntohl(dm->type),
+ ntohl(dm->priority),
+ ntohl(dm->anonymity),
+ GNUNET_TIME_absolute_ntoh(dm->expiration),
+ GNUNET_ntohll(dm->uid));
}