[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r14406 - in gnunet/src: core dht dv fs include testing topo
From: |
gnunet |
Subject: |
[GNUnet-SVN] r14406 - in gnunet/src: core dht dv fs include testing topology transport |
Date: |
Tue, 15 Feb 2011 13:06:37 +0100 |
Author: nevans
Date: 2011-02-15 13:06:37 +0100 (Tue, 15 Feb 2011)
New Revision: 14406
Modified:
gnunet/src/core/core_api.c
gnunet/src/core/gnunet-service-core.c
gnunet/src/dht/test_dht_multipeer.c
gnunet/src/dht/test_dht_twopeer.c
gnunet/src/dht/test_dht_twopeer_path_tracking.c
gnunet/src/dht/test_dht_twopeer_put_get.c
gnunet/src/dv/test_transport_api_dv.c
gnunet/src/fs/fs_test_lib.c
gnunet/src/include/gnunet_testing_lib.h
gnunet/src/testing/test_testing_group.c
gnunet/src/testing/test_testing_group_remote.c
gnunet/src/testing/test_testing_large_topology.c
gnunet/src/testing/test_testing_topology.c
gnunet/src/testing/test_testing_topology_blacklist.c
gnunet/src/testing/test_testing_topology_churn.c
gnunet/src/topology/test_gnunet_daemon_topology.c
gnunet/src/transport/plugin_transport_unix.c
Log:
Testing api change and related test case fixes, remember retry task and clean
up on exit for unix domain socket transport.
Modified: gnunet/src/core/core_api.c
===================================================================
--- gnunet/src/core/core_api.c 2011-02-15 11:56:03 UTC (rev 14405)
+++ gnunet/src/core/core_api.c 2011-02-15 12:06:37 UTC (rev 14406)
@@ -1728,6 +1728,10 @@
struct GNUNET_CORE_PeerRequestHandle *ret;
struct ControlMessage *cm;
struct ConnectMessage *msg;
+
+ if (NULL != GNUNET_CONTAINER_multihashmap_get (h->peers,
+ &peer->hashPubKey))
+ GNUNET_log_from (GNUNET_ERROR_TYPE_WARNING, "core_api", "Received CONNECT
requests for already connected peer!\n");
cm = GNUNET_malloc (sizeof (struct ControlMessage) +
sizeof (struct ConnectMessage));
Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/core/gnunet-service-core.c 2011-02-15 12:06:37 UTC (rev
14406)
@@ -3336,9 +3336,9 @@
if (err_msg != NULL)
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- _("Error in communication with PEERINFO service\n"));
- /* return; */
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ _("Error in communication with PEERINFO service\n"));
+ /* return; */
}
if (peer == NULL)
Modified: gnunet/src/dht/test_dht_multipeer.c
===================================================================
--- gnunet/src/dht/test_dht_multipeer.c 2011-02-15 11:56:03 UTC (rev 14405)
+++ gnunet/src/dht/test_dht_multipeer.c 2011-02-15 12:06:37 UTC (rev 14406)
@@ -876,8 +876,9 @@
&end_badly, "didn't generate all
hostkeys within a reasonable amount of time!!!");
pg = GNUNET_TESTING_daemons_start (cfg,
- peers_left,
- peers_left,
+ peers_left, /* Total number of peers */
+ peers_left, /* Number of outstanding
connections */
+ peers_left, /* Number of parallel ssh
connections, or peers being started at once */
GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, SECONDS_PER_PEER_START
* num_peers),
&hostkey_callback,
NULL,
Modified: gnunet/src/dht/test_dht_twopeer.c
===================================================================
--- gnunet/src/dht/test_dht_twopeer.c 2011-02-15 11:56:03 UTC (rev 14405)
+++ gnunet/src/dht/test_dht_twopeer.c 2011-02-15 12:06:37 UTC (rev 14406)
@@ -415,6 +415,7 @@
pg = GNUNET_TESTING_daemons_start (cfg,
num_peers,
10,
+ num_peers,
TIMEOUT,
NULL, NULL,
&peers_started_callback,
Modified: gnunet/src/dht/test_dht_twopeer_path_tracking.c
===================================================================
--- gnunet/src/dht/test_dht_twopeer_path_tracking.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/dht/test_dht_twopeer_path_tracking.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -461,8 +461,9 @@
/* Start num_peers peers, call peers_started_callback on peer start,
topology_callback on peer connect */
/* Read the API documentation for other parameters! */
pg = GNUNET_TESTING_daemons_start (cfg,
- num_peers,
- num_peers,
+ peers_left, /* Total number of peers */
+ peers_left, /* Number of outstanding
connections */
+ peers_left, /* Number of parallel ssh
connections, or peers being started at once */
TIMEOUT,
NULL,
NULL,
Modified: gnunet/src/dht/test_dht_twopeer_put_get.c
===================================================================
--- gnunet/src/dht/test_dht_twopeer_put_get.c 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/dht/test_dht_twopeer_put_get.c 2011-02-15 12:06:37 UTC (rev
14406)
@@ -540,6 +540,7 @@
pg = GNUNET_TESTING_daemons_start (cfg,
num_peers,
2,
+ 2,
TIMEOUT,
NULL,
NULL,
Modified: gnunet/src/dv/test_transport_api_dv.c
===================================================================
--- gnunet/src/dv/test_transport_api_dv.c 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/dv/test_transport_api_dv.c 2011-02-15 12:06:37 UTC (rev
14406)
@@ -1138,8 +1138,9 @@
peer_daemon_hash = GNUNET_CONTAINER_multihashmap_create(peers_left);
pg = GNUNET_TESTING_daemons_start (cfg,
- peers_left,
- peers_left,
+ peers_left, /* Total number of peers */
+ peers_left, /* Number of outstanding
connections */
+ peers_left, /* Number of parallel ssh
connections, or peers being started at once */
TIMEOUT,
&hostkey_callback,
NULL,
Modified: gnunet/src/fs/fs_test_lib.c
===================================================================
--- gnunet/src/fs/fs_test_lib.c 2011-02-15 11:56:03 UTC (rev 14405)
+++ gnunet/src/fs/fs_test_lib.c 2011-02-15 12:06:37 UTC (rev 14406)
@@ -395,6 +395,7 @@
sctx->group = GNUNET_TESTING_daemons_start (sctx->cfg,
total,
total, /* Outstanding connections
*/
+ total, /* Outstanding ssh
connections */
timeout,
NULL,
NULL,
Modified: gnunet/src/include/gnunet_testing_lib.h
===================================================================
--- gnunet/src/include/gnunet_testing_lib.h 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/include/gnunet_testing_lib.h 2011-02-15 12:06:37 UTC (rev
14406)
@@ -567,7 +567,9 @@
* @param cfg configuration template to use
* @param total number of daemons to start
* @param max_concurrent_connections for testing, how many peers can
- * we connect to simultaneously
+* we connect to simultaneously
+ * @param max_concurrent_ssh when starting with ssh, how many ssh
+ * connections will we allow at once (based on remote hosts allowed!)
* @param timeout total time allowed for peers to start
* @param hostkey_callback function to call on each peers hostkey generation
* if NULL, peers will be started by this call, if non-null,
@@ -587,6 +589,7 @@
GNUNET_TESTING_daemons_start (const struct GNUNET_CONFIGURATION_Handle *cfg,
unsigned int total,
unsigned int max_concurrent_connections,
+ unsigned int max_concurrent_ssh,
struct GNUNET_TIME_Relative timeout,
GNUNET_TESTING_NotifyHostkeyCreated
hostkey_callback, void *hostkey_cls,
Modified: gnunet/src/testing/test_testing_group.c
===================================================================
--- gnunet/src/testing/test_testing_group.c 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/testing/test_testing_group.c 2011-02-15 12:06:37 UTC (rev
14406)
@@ -116,8 +116,9 @@
#endif
peers_left = NUM_PEERS;
pg = GNUNET_TESTING_daemons_start (cfg,
- peers_left,
- NUM_PEERS,
+ peers_left, /* Total number of peers */
+ peers_left, /* Number of outstanding
connections */
+ peers_left, /* Number of parallel ssh
connections, or peers being started at once */
TIMEOUT,
NULL, NULL,
&my_cb, NULL, NULL, NULL, NULL);
Modified: gnunet/src/testing/test_testing_group_remote.c
===================================================================
--- gnunet/src/testing/test_testing_group_remote.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/testing/test_testing_group_remote.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -202,8 +202,9 @@
peers_left = num_peers;
pg = GNUNET_TESTING_daemons_start (cfg,
- peers_left,
- peers_left,
+ peers_left, /* Total number of peers */
+ peers_left, /* Number of outstanding
connections */
+ peers_left, /* Number of parallel ssh
connections, or peers being started at once */
TIMEOUT,
NULL,
NULL, &my_cb, NULL, NULL, NULL, hosts);
Modified: gnunet/src/testing/test_testing_large_topology.c
===================================================================
--- gnunet/src/testing/test_testing_large_topology.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/testing/test_testing_large_topology.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -1131,6 +1131,7 @@
pg = GNUNET_TESTING_daemons_start (cfg,
peers_left,
peers_left / 2,
+ peers_left,
timeout,
&hostkey_callback, NULL,
&peers_started_callback, NULL,
Modified: gnunet/src/testing/test_testing_topology.c
===================================================================
--- gnunet/src/testing/test_testing_topology.c 2011-02-15 11:56:03 UTC (rev
14405)
+++ gnunet/src/testing/test_testing_topology.c 2011-02-15 12:06:37 UTC (rev
14406)
@@ -1181,6 +1181,7 @@
pg = GNUNET_TESTING_daemons_start (cfg,
peers_left,
peers_left / 2,
+ peers_left,
GNUNET_TIME_relative_multiply
(GNUNET_TIME_UNIT_SECONDS,
SECONDS_PER_PEER_START * num_peers),
Modified: gnunet/src/testing/test_testing_topology_blacklist.c
===================================================================
--- gnunet/src/testing/test_testing_topology_blacklist.c 2011-02-15
11:56:03 UTC (rev 14405)
+++ gnunet/src/testing/test_testing_topology_blacklist.c 2011-02-15
12:06:37 UTC (rev 14406)
@@ -535,7 +535,7 @@
"didn't start all daemons in
reasonable amount of time!!!");
pg = GNUNET_TESTING_daemons_start (cfg,
- peers_left, peers_left,
+ peers_left, peers_left, peers_left,
TIMEOUT, &hostkey_callback,
NULL, &peers_started_callback, NULL,
&topology_callback, NULL, NULL);
Modified: gnunet/src/testing/test_testing_topology_churn.c
===================================================================
--- gnunet/src/testing/test_testing_topology_churn.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/testing/test_testing_topology_churn.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -281,7 +281,9 @@
pg = GNUNET_TESTING_daemons_start (cfg,
peers_left,
- peers_left, TIMEOUT, NULL, NULL,
+ peers_left,
+ peers_left,
+ TIMEOUT, NULL, NULL,
&peers_started_callback, NULL, NULL,
NULL, NULL);
Modified: gnunet/src/topology/test_gnunet_daemon_topology.c
===================================================================
--- gnunet/src/topology/test_gnunet_daemon_topology.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/topology/test_gnunet_daemon_topology.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -155,6 +155,7 @@
pg = GNUNET_TESTING_daemons_start (cfg,
peers_left,
peers_left,
+ peers_left,
TIMEOUT,
NULL, NULL,
&my_cb, NULL, NULL, NULL, NULL);
Modified: gnunet/src/transport/plugin_transport_unix.c
===================================================================
--- gnunet/src/transport/plugin_transport_unix.c 2011-02-15 11:56:03 UTC
(rev 14405)
+++ gnunet/src/transport/plugin_transport_unix.c 2011-02-15 12:06:37 UTC
(rev 14406)
@@ -80,6 +80,24 @@
};
+struct RetryList
+{
+ /**
+ * Pointer to next element.
+ */
+ struct RetryList *next;
+
+ /**
+ * Pointer to previous element.
+ */
+ struct RetryList *prev;
+
+ /**
+ * The actual retry context.
+ */
+ struct RetrySendContext *retry_ctx;
+};
+
/**
* Network format for IPv4 addresses.
*/
@@ -191,6 +209,11 @@
* The priority of the message.
*/
unsigned int priority;
+
+ /**
+ * Entry in the DLL of retry items.
+ */
+ struct RetryList *retry_list_entry;
};
/**
@@ -342,8 +365,18 @@
};
+/**
+ * Head of retry DLL.
+ */
+static struct RetryList *retry_list_head;
/**
+ * Tail of retry DLL.
+ */
+static struct RetryList *retry_list_tail;
+
+
+/**
* Disconnect from a remote node. Clean up session if we have one for this
peer
*
* @param cls closure for this call (should be handle to Plugin)
@@ -370,7 +403,23 @@
unix_transport_server_stop (void *cls)
{
struct Plugin *plugin = cls;
+ struct RetryList *pos;
+ pos = retry_list_head;
+
+ while(NULL != (pos = retry_list_head))
+ {
+ GNUNET_CONTAINER_DLL_remove(retry_list_head, retry_list_tail, pos);
+ if (GNUNET_SCHEDULER_NO_TASK != pos->retry_ctx->retry_task)
+ {
+ GNUNET_SCHEDULER_cancel(pos->retry_ctx->retry_task);
+ }
+ GNUNET_free(pos->retry_ctx->msg);
+ GNUNET_free(pos->retry_ctx->addr);
+ GNUNET_free(pos->retry_ctx);
+ GNUNET_free(pos);
+ }
+
if (plugin->select_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (plugin->select_task);
@@ -428,7 +477,13 @@
struct RetrySendContext *retry_ctx = cls;
if (tc->reason == GNUNET_SCHEDULER_REASON_SHUTDOWN)
- return;
+ {
+ GNUNET_free(retry_ctx->msg);
+ GNUNET_free(retry_ctx->addr);
+ GNUNET_free(retry_ctx);
+ return;
+ }
+
unix_real_send (retry_ctx->plugin,
retry_ctx,
retry_ctx->send_handle,
@@ -489,6 +544,7 @@
size_t sbs;
struct sockaddr_un un;
size_t slen;
+ struct RetryList *retry_list_entry;
if (send_handle == NULL)
{
@@ -542,6 +598,7 @@
{
if (incoming_retry_context == NULL)
{
+ retry_list_entry = GNUNET_malloc(sizeof(struct RetryList));
retry_ctx = GNUNET_malloc(sizeof(struct RetrySendContext));
retry_ctx->addr = GNUNET_malloc(addrlen);
retry_ctx->msg = GNUNET_malloc(msgbuf_size);
@@ -557,6 +614,9 @@
retry_ctx->timeout = GNUNET_TIME_relative_to_absolute(timeout);
memcpy(&retry_ctx->target, target, sizeof(struct
GNUNET_PeerIdentity));
retry_ctx->delay = GNUNET_TIME_UNIT_MILLISECONDS;
+ retry_ctx->retry_list_entry = retry_list_entry;
+ retry_list_entry->retry_ctx = retry_ctx;
+ GNUNET_CONTAINER_DLL_insert(retry_list_head, retry_list_tail,
retry_list_entry);
}
else
{
@@ -597,6 +657,8 @@
if (incoming_retry_context != NULL)
{
+ GNUNET_CONTAINER_DLL_remove(retry_list_head, retry_list_tail,
incoming_retry_context->retry_list_entry);
+ GNUNET_free(incoming_retry_context->retry_list_entry);
GNUNET_free(incoming_retry_context->msg);
GNUNET_free(incoming_retry_context->addr);
GNUNET_free(incoming_retry_context);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r14406 - in gnunet/src: core dht dv fs include testing topology transport,
gnunet <=