{
const char *transport_name = cls;
struct GNUNET_HELLO_Address address;
- int ret;
GNUNET_assert (strlen (transport_name) > 0);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Session %p to peer `%s' ended \n",
address.address = NULL;
address.address_length = 0;
address.transport_name = transport_name;
- ret = GST_neighbours_session_terminated (peer, session);
- if (GNUNET_NO == ret)
- {
- /* This was a session currently not used by
- * neighbours so we have to try to destroy it here */
- GNUNET_ATS_address_destroyed (GST_ats, &address, session);
- }
+ GST_neighbours_session_terminated (peer, session);
+
+ /* Tell ATS that session has ended */
+ GNUNET_ATS_address_destroyed (GST_ats, &address, session);
}
{
GST_validation_set_address_use (na->address, na->session, GNUNET_NO, __LINE__);
GNUNET_ATS_address_in_use (GST_ats, na->address, na->session, GNUNET_NO);
- GNUNET_ATS_address_destroyed (GST_ats, na->address, na->session);
- }
- else
- {
- if (NULL != na->address)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "HACK: destroy address\n");
- GNUNET_ATS_address_destroyed (GST_ats, na->address, na->session);
- }
}
+
na->ats_active = GNUNET_NO;
if (NULL != na->address)
{
break;
case S_DISCONNECT_FINISHED:
/* neighbour was freed and plugins told to terminate session */
+ return GNUNET_NO;
break;
default:
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unhandled state `%s' \n",print_state (n->state));