[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r32638 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r32638 - gnunet/src/mesh |
Date: |
Thu, 13 Mar 2014 16:01:43 +0100 |
Author: bartpolot
Date: 2014-03-13 16:01:43 +0100 (Thu, 13 Mar 2014)
New Revision: 32638
Modified:
gnunet/src/mesh/mesh_profiler.c
Log:
- use pointers in struct itself
Modified: gnunet/src/mesh/mesh_profiler.c
===================================================================
--- gnunet/src/mesh/mesh_profiler.c 2014-03-13 15:01:42 UTC (rev 32637)
+++ gnunet/src/mesh/mesh_profiler.c 2014-03-13 15:01:43 UTC (rev 32638)
@@ -87,7 +87,8 @@
*/
int data_received;
- unsigned int dest;
+ struct MeshPeer *dest;
+ struct MeshPeer *incoming;
GNUNET_SCHEDULER_TaskIdentifier ping_task;
};
@@ -405,6 +406,30 @@
/**
+ * @brief Send data to destination
+ *
+ * @param cls Closure (peer).
+ * @param tc Task context.
+ */
+static void
+ping (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+ struct MeshPeer *peer = (struct MeshPeer *) cls;
+
+ peer->ping_task = GNUNET_SCHEDULER_NO_TASK;
+ if ((GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason) != 0)
+ return;
+
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u -> %u\n",
+ get_index (peer), get_index (peer->dest));
+
+ GNUNET_MESH_notify_transmit_ready (peer->ch, GNUNET_NO,
+ GNUNET_TIME_UNIT_FOREVER_REL,
+ size_payload, &tmt_rdy, peer);
+}
+
+
+/**
* Transmit ready callback
*
* @param cls Closure (peer).
@@ -451,6 +476,9 @@
}
}
+ peers->ping_task = GNUNET_SCHEDULER_add_delayed (delay_ms_rnd (60 * 1000),
+ &ping, peer);
+
return size_payload;
}
@@ -572,25 +600,6 @@
/**
- * @brief Send data to destination
- *
- * @param cls Closure (peer).
- * @param tc Task context.
- */
-static void
-ping (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
-{
- struct MeshPeer *peer = (struct MeshPeer *) cls;
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u -> %u\n",
- get_index (peer), peer->dest);
-
- GNUNET_MESH_notify_transmit_ready (peer->ch, GNUNET_NO,
- GNUNET_TIME_UNIT_FOREVER_REL,
- size_payload, &tmt_rdy, (void *) 1L);
-}
-
-
-/**
* START THE TESTCASE ITSELF, AS WE ARE CONNECTED TO THE MESH SERVICES.
*
* Testcase continues when the root receives confirmation of connected peers,
@@ -619,13 +628,14 @@
flags = GNUNET_MESH_OPTION_DEFAULT;
for (i = 0; i < TOTAL_PEERS; i++)
{
- peers[i].dest = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK,
- TOTAL_PEERS);
+ unsigned int r;
+ r = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, TOTAL_PEERS);
+ peers[i].dest = &peers[r];
peers[i].ch = GNUNET_MESH_channel_create (peers[i].mesh, NULL,
- &peers[peers[i].dest].id,
+ &peers[i].dest->id,
1, flags);
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u => %u\n", i, peers[i].dest);
- peers[i].ping_task = GNUNET_SCHEDULER_add_delayed (delay_ms_rnd(2000),
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u => %u\n", i, r);
+ peers[i].ping_task = GNUNET_SCHEDULER_add_delayed (delay_ms_rnd (2000),
&ping, &peers[i]);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32638 - gnunet/src/mesh,
gnunet <=