dn->cth =
GNUNET_CORE_notify_transmit_ready (core_api,
GNUNET_YES /* cork */,
- 0 /* priority */,
+ GNUNET_CORE_PRIO_BEST_EFFORT,
GNUNET_TIME_UNIT_FOREVER_REL,
&dn->peer,
msize,
if (NULL == target->cth)
target->cth = GNUNET_CORE_notify_transmit_ready (core_api,
GNUNET_YES /* cork */,
- 0 /* priority */,
+ GNUNET_CORE_PRIO_BEST_EFFORT,
GNUNET_TIME_UNIT_FOREVER_REL,
&target->peer,
msize,
uint32_t distance;
enum GNUNET_ATS_Network_Type network = GNUNET_ATS_NET_UNSPECIFIED;
+ if (NULL == address)
+ {
+ /* ATS service temporarily disconnected */
+ return;
+ }
+
if (GNUNET_NO == active)
return;
distance = get_atsi_distance (ats, ats_count);
enum GNUNET_SET_Status status)
{
struct DirectNeighbor *neighbor = cls;
+ struct DirectNeighbor *dn;
struct Target *target;
char *status_str;
GNUNET_break_op (0);
return;
}
- if (GNUNET_YES ==
- GNUNET_CONTAINER_multipeermap_contains (direct_neighbors,
- &((struct Target *) element->data)->peer))
+ if ( (NULL != (dn = GNUNET_CONTAINER_multipeermap_get (direct_neighbors, &((struct Target *) element->data)->peer))) && (DIRECT_NEIGHBOR_COST == dn->distance) )
{
/* this is a direct neighbor of ours, we do not care about routes
to this peer */
const struct GNUNET_MessageHeader *payload;
struct Route *route;
struct DirectNeighbor *neighbor;
+ struct DirectNeighbor *dn;
struct Target *target;
uint32_t distance;
char me[5];
&my_identity,
sizeof (struct GNUNET_PeerIdentity)))
{
- if (NULL != GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
- &rm->sender))
+ if ((NULL
+ != (dn = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
+ &rm->sender))) && (DIRECT_NEIGHBOR_COST == dn->distance))
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Discarding DV message, as %s is a direct neighbor\n",
{
GNUNET_break_op (0);
GNUNET_free (target);
+ return GNUNET_SYSERR;
}
add_new_route (target, neighbor);
}