FRESH,
};
+
/**
* Entry in neighbours.
*/
*/
struct MessageQueue *messages_tail;
- /**
- * Performance data for the peer.
- */
- //struct GNUNET_ATS_Information *ats;
-
/**
* Are we currently trying to send a message? If so, which one?
*/
*/
GNUNET_SCHEDULER_TaskIdentifier state_reset;
+
/**
* How often has the other peer (recently) violated the inbound
* traffic limit? Incremented by 10 per violation, decremented by 1
reset_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
struct NeighbourMapEntry *n = cls;
+ if (n == NULL)
+ return;
n->state_reset = GNUNET_SCHEDULER_NO_TASK;
if (n->state == S_CONNECTED)
n->state = S_NOT_CONNECTED;
/* destroying address */
- GNUNET_assert (strlen(n->address->transport_name) > 0);
- GNUNET_ATS_address_destroyed (GST_ats, n->address, n->session);
+ if (n->address != NULL)
+ {
+ GNUNET_assert (strlen(n->address->transport_name) > 0);
+ GNUNET_ATS_address_destroyed (GST_ats, n->address, n->session);
+ }
/* request new address */
if (n->ats_suggest != GNUNET_SCHEDULER_NO_TASK)