* @param atsi_count number of entries in 'ats' array
* @param tmap_old previous type map for the neighbour, NULL for disconnect
* @param tmap_new updated type map for the neighbour, NULL for disconnect
+ * @param is_new GNUNET_YES if this is a completely new neighbour
*/
void
GSC_CLIENTS_notify_client_about_neighbour (struct GSC_Client *client,
const struct GNUNET_ATS_Information *atsi,
unsigned int atsi_count,
const struct GSC_TypeMap *tmap_old,
- const struct GSC_TypeMap *tmap_new)
+ const struct GSC_TypeMap *tmap_new,
+ int is_new)
{
struct ConnectNotifyMessage *cnm;
size_t size;
if (tmap_old != NULL)
old_match = GNUNET_YES;
}
+ if (GNUNET_YES == is_new)
+ old_match = GNUNET_NO;
if (old_match == new_match)
return; /* no change */
if (old_match == GNUNET_NO)
for (c = client_head; c != NULL; c = c->next)
GSC_CLIENTS_notify_client_about_neighbour (c, neighbour, atsi,
atsi_count,
- tmap_old, tmap_new);
+ tmap_old, tmap_new,
+ GNUNET_NO);
}
* @param atsi_count number of entries in 'ats' array
* @param tmap_old previous type map for the neighbour, NULL for disconnect
* @param tmap_new updated type map for the neighbour, NULL for disconnect
+ * @param is_new GNUNET_YES if this is a completely new neighbour
*/
void
GSC_CLIENTS_notify_client_about_neighbour (struct GSC_Client *client,
const struct GNUNET_ATS_Information *atsi,
unsigned int atsi_count,
const struct GSC_TypeMap *tmap_old,
- const struct GSC_TypeMap *tmap_new);
+ const struct GSC_TypeMap *tmap_new,
+ int is_new);
/**