/*
This file is part of GNUnet.
- Copyright (C) 2011-2015 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2011-2015 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* Client that made the request.
*/
struct GNUNET_SERVER_Client *client;
+
+ /* TODO: allow client to express a 'strength' for this request */
};
GAS_connectivity_has_peer (void *cls,
const struct GNUNET_PeerIdentity *peer)
{
+ if (NULL == connection_requests)
+ return 0;
+ /* TODO: return sum of 'strength's of connectivity requests */
return GNUNET_CONTAINER_multipeermap_contains (connection_requests,
peer);
}
/**
- * Handle 'request address' messages from clients.
+ * Handle #GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS messages from clients.
*
* @param cls unused, NULL
* @param client client that sent the request
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Received `%s' message\n",
- "REQUEST_ADDRESS");
- GNUNET_break (0 == ntohl (msg->reserved));
+ "GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS");
+ /* FIXME: should not ignore "msg->strength" */
cr = GNUNET_new (struct ConnectionRequest);
cr->client = client;
(void) GNUNET_CONTAINER_multipeermap_put (connection_requests,
/**
- * Handle 'request address cancel' messages from clients.
+ * Handle #GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL messages
+ * from clients.
*
* @param cls unused, NULL
* @param client client that sent the request
(const struct RequestAddressMessage *) message;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Received REQUEST_ADDRESS_CANCEL message for peer %s\n",
+ "Received GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL message for peer %s\n",
GNUNET_i2s (&msg->peer));
- GNUNET_break (0 == ntohl (msg->reserved));
+ GNUNET_break (0 == ntohl (msg->strength));
GNUNET_CONTAINER_multipeermap_get_multiple (connection_requests,
&msg->peer,
&free_matching_requests,
void
GAS_connectivity_done ()
{
+ GAS_plugin_solver_lock ();
GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
&free_request,
NULL);
+ GAS_plugin_solver_unlock ();
GNUNET_CONTAINER_multipeermap_destroy (connection_requests);
+ connection_requests = NULL;
}