projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more work on route_message() logic
[oweals/gnunet.git]
/
src
/
ats
/
gnunet-service-ats_connectivity.c
diff --git
a/src/ats/gnunet-service-ats_connectivity.c
b/src/ats/gnunet-service-ats_connectivity.c
index 7bde6e354c3b0cd14a8a5cb631591b7c1fe86cd5..3853aeb0eb0a3ae1f5b6e66ab7f3e6a5a67eae7f 100644
(file)
--- a/
src/ats/gnunet-service-ats_connectivity.c
+++ b/
src/ats/gnunet-service-ats_connectivity.c
@@
-1,21
+1,21
@@
/*
This file is part of GNUnet.
/*
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
- by the Free Software Foundation
; either version 3, or (at your
- option) any later version.
+ GNUnet is free software
: you can redistribute it and/or modify it
+
under the terms of the GNU Affero
General Public License as published
+ by the Free Software Foundation
, either version 3 of the License,
+ o
r (at your o
ption) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- 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., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
*/
/**
@@
-40,7
+40,7
@@
struct ConnectionRequest
/**
* Client that made the request.
*/
/**
* Client that made the request.
*/
- struct GNUNET_SERV
ER
_Client *client;
+ struct GNUNET_SERV
ICE
_Client *client;
/* TODO: allow client to express a 'strength' for this request */
};
/* TODO: allow client to express a 'strength' for this request */
};
@@
-75,17
+75,13
@@
GAS_connectivity_has_peer (void *cls,
/**
* Handle #GNUNET_MESSAGE_TYPE_ATS_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
* @param message the request message
*/
void
* @param client client that sent the request
* @param message the request message
*/
void
-GAS_handle_request_address (void *cls,
- struct GNUNET_SERVER_Client *client,
- const struct GNUNET_MessageHeader *message)
+GAS_handle_request_address (struct GNUNET_SERVICE_Client *client,
+ const struct RequestAddressMessage *msg)
{
{
- const struct RequestAddressMessage *msg =
- (const struct RequestAddressMessage *) message;
struct ConnectionRequest *cr;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
struct ConnectionRequest *cr;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@
-99,7
+95,6
@@
GAS_handle_request_address (void *cls,
cr,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
GAS_plugin_request_connect_start (&msg->peer);
cr,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
GAS_plugin_request_connect_start (&msg->peer);
- GNUNET_SERVER_receive_done (client, GNUNET_OK);
}
}
@@
-117,7
+112,7
@@
free_matching_requests (void *cls,
const struct GNUNET_PeerIdentity *pid,
void *value)
{
const struct GNUNET_PeerIdentity *pid,
void *value)
{
- struct GNUNET_SERV
ER
_Client *client = cls;
+ struct GNUNET_SERV
ICE
_Client *client = cls;
struct ConnectionRequest *cr = value;
if (cr->client == client)
struct ConnectionRequest *cr = value;
if (cr->client == client)
@@
-140,18
+135,13
@@
free_matching_requests (void *cls,
* Handle #GNUNET_MESSAGE_TYPE_ATS_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
- * @param message the request message
+ * @param client the client that sent the request
+ * @param msg the request message
*/
void
*/
void
-GAS_handle_request_address_cancel (void *cls,
- struct GNUNET_SERVER_Client *client,
- const struct GNUNET_MessageHeader *message)
+GAS_handle_request_address_cancel (struct GNUNET_SERVICE_Client *client,
+ const struct RequestAddressMessage *msg)
{
{
- const struct RequestAddressMessage *msg =
- (const struct RequestAddressMessage *) message;
-
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Received GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL message for peer %s\n",
GNUNET_i2s (&msg->peer));
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Received GNUNET_MESSAGE_TYPE_ATS_REQUEST_ADDRESS_CANCEL message for peer %s\n",
GNUNET_i2s (&msg->peer));
@@
-160,7
+150,6
@@
GAS_handle_request_address_cancel (void *cls,
&msg->peer,
&free_matching_requests,
client);
&msg->peer,
&free_matching_requests,
client);
- GNUNET_SERVER_receive_done (client, GNUNET_OK);
}
}
@@
-171,7
+160,7
@@
GAS_handle_request_address_cancel (void *cls,
* @param client handle of the (now dead) client
*/
void
* @param client handle of the (now dead) client
*/
void
-GAS_connectivity_remove_client (struct GNUNET_SERV
ER
_Client *client)
+GAS_connectivity_remove_client (struct GNUNET_SERV
ICE
_Client *client)
{
GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
&free_matching_requests,
{
GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
&free_matching_requests,
@@
-185,7
+174,9
@@
GAS_connectivity_remove_client (struct GNUNET_SERVER_Client *client)
void
GAS_connectivity_init ()
{
void
GAS_connectivity_init ()
{
- connection_requests = GNUNET_CONTAINER_multipeermap_create (32, GNUNET_NO);
+ connection_requests
+ = GNUNET_CONTAINER_multipeermap_create (32,
+ GNUNET_NO);
}
}
@@
-217,9
+208,11
@@
free_request (void *cls,
void
GAS_connectivity_done ()
{
void
GAS_connectivity_done ()
{
+ GAS_plugin_solver_lock ();
GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
&free_request,
NULL);
GNUNET_CONTAINER_multipeermap_iterate (connection_requests,
&free_request,
NULL);
+ GAS_plugin_solver_unlock ();
GNUNET_CONTAINER_multipeermap_destroy (connection_requests);
connection_requests = NULL;
}
GNUNET_CONTAINER_multipeermap_destroy (connection_requests);
connection_requests = NULL;
}