[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21807 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21807 - gnunet/src/mesh |
Date: |
Fri, 8 Jun 2012 17:02:38 +0200 |
Author: bartpolot
Date: 2012-06-08 17:02:38 +0200 (Fri, 08 Jun 2012)
New Revision: 21807
Modified:
gnunet/src/mesh/gnunet-service-mesh_new.c
Log:
- add per-peer core queues
Modified: gnunet/src/mesh/gnunet-service-mesh_new.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_new.c 2012-06-08 14:57:26 UTC (rev
21806)
+++ gnunet/src/mesh/gnunet-service-mesh_new.c 2012-06-08 15:02:38 UTC (rev
21807)
@@ -225,6 +225,21 @@
* Number of tunnels this peers participates in
*/
unsigned int ntunnels;
+
+ /**
+ * Transmission queue to core DLL head
+ */
+ struct MeshPeerQueue *queue_head;
+
+ /**
+ * Transmission queue to core DLL tail
+ */
+ struct MeshPeerQueue *queue_tail;
+
+ /**
+ * Handle to for queued transmissions
+ */
+ struct GNUNET_CORE_TransmitHandle *core_transmit;
};
@@ -475,12 +490,6 @@
static struct MeshClient *clients_tail;
/**
- * Transmission queue to core
- */
-struct MeshPeerQueue *queue_head;
-struct MeshPeerQueue *queue_tail;
-
-/**
* Tunnels known, indexed by MESH_TunnelID (MeshTunnel)
*/
static struct GNUNET_CONTAINER_MultiHashMap *tunnels;
@@ -507,11 +516,6 @@
static struct GNUNET_CORE_Handle *core_handle;
/**
- * Handle to for queued transmissions
- */
-struct GNUNET_CORE_TransmitHandle *core_transmit;
-
-/**
* Handle to use DHT
*/
static struct GNUNET_DHT_Handle *dht_handle;
@@ -2639,7 +2643,9 @@
}
GNUNET_free_non_null (queue->cls);
}
- GNUNET_CONTAINER_DLL_remove (queue_head, queue_tail, queue);
+ GNUNET_CONTAINER_DLL_remove (queue->peer->queue_head,
+ queue->peer->queue_tail,
+ queue);
GNUNET_free (queue);
}
@@ -2660,8 +2666,8 @@
struct MeshPeerQueue *queue;
size_t data_size;
- core_transmit = NULL;
- queue = queue_head;
+ peer->core_transmit = NULL;
+ queue = peer->queue_head;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "********* Queue send\n");
@@ -2680,7 +2686,7 @@
struct GNUNET_PeerIdentity id;
GNUNET_PEER_resolve (peer->id, &id);
- core_transmit =
+ peer->core_transmit =
GNUNET_CORE_notify_transmit_ready(core_handle,
0,
0,
@@ -2722,19 +2728,19 @@
queue_destroy(queue, GNUNET_NO);
/* If more data in queue, send next */
- if (NULL != queue_head)
+ if (NULL != peer->queue_head)
{
struct GNUNET_PeerIdentity id;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "********* more data!\n");
GNUNET_PEER_resolve (peer->id, &id);
- core_transmit =
+ peer->core_transmit =
GNUNET_CORE_notify_transmit_ready(core_handle,
0,
0,
GNUNET_TIME_UNIT_FOREVER_REL,
&id,
- queue_head->size,
+ peer->queue_head->size,
&queue_send,
peer);
}
@@ -2761,13 +2767,13 @@
queue->type = type;
queue->size = size;
queue->peer = dst;
- GNUNET_CONTAINER_DLL_insert_tail (queue_head, queue_tail, queue);
- if (NULL == core_transmit)
+ GNUNET_CONTAINER_DLL_insert_tail (dst->queue_head, dst->queue_tail, queue);
+ if (NULL == dst->core_transmit)
{
struct GNUNET_PeerIdentity id;
GNUNET_PEER_resolve (dst->id, &id);
- core_transmit =
+ dst->core_transmit =
GNUNET_CORE_notify_transmit_ready(core_handle,
0,
0,
@@ -4612,7 +4618,7 @@
GNUNET_break (0);
return;
}
- q = queue_head;
+ q = pi->queue_head;
while (NULL != q)
{
n = q->next;
@@ -4670,7 +4676,7 @@
struct MeshPeerQueue *q;
struct MeshPeerQueue *n;
- q = queue_head;
+ q = p->queue_head;
while (NULL != q)
{
n = q->next;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21807 - gnunet/src/mesh,
gnunet <=