[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r10356 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r10356 - gnunet/src/transport |
Date: |
Wed, 17 Feb 2010 23:17:37 +0100 |
Author: grothoff
Date: 2010-02-17 23:17:37 +0100 (Wed, 17 Feb 2010)
New Revision: 10356
Modified:
gnunet/src/transport/gnunet-service-transport.c
gnunet/src/transport/test_transport_api_tcp_peer1.conf
gnunet/src/transport/test_transport_api_tcp_peer2.conf
gnunet/src/transport/transport_api.c
Log:
fix state machine update
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2010-02-17 21:48:52 UTC
(rev 10355)
+++ gnunet/src/transport/gnunet-service-transport.c 2010-02-17 22:17:37 UTC
(rev 10356)
@@ -1194,9 +1194,6 @@
/* FIXME: support bi-directional use of TCP */
if (mq->specific_address == NULL)
mq->specific_address = find_ready_address(neighbour);
- GNUNET_CONTAINER_DLL_remove (neighbour->messages_head,
- neighbour->messages_tail,
- mq);
if (mq->specific_address == NULL)
{
timeout = GNUNET_TIME_absolute_get_remaining (mq->timeout);
@@ -1210,6 +1207,9 @@
#endif
if (mq->client != NULL)
transmit_send_ok (mq->client, neighbour, GNUNET_NO);
+ GNUNET_CONTAINER_DLL_remove (neighbour->messages_head,
+ neighbour->messages_tail,
+ mq);
GNUNET_free (mq);
return; /* nobody ready */
}
@@ -1229,6 +1229,9 @@
#endif
return;
}
+ GNUNET_CONTAINER_DLL_remove (neighbour->messages_head,
+ neighbour->messages_tail,
+ mq);
if (mq->specific_address->connected == GNUNET_NO)
mq->specific_address->connect_attempts++;
rl = mq->specific_address->ready_list;
Modified: gnunet/src/transport/test_transport_api_tcp_peer1.conf
===================================================================
--- gnunet/src/transport/test_transport_api_tcp_peer1.conf 2010-02-17
21:48:52 UTC (rev 10355)
+++ gnunet/src/transport/test_transport_api_tcp_peer1.conf 2010-02-17
22:17:37 UTC (rev 10356)
@@ -49,7 +49,7 @@
[transport]
PLUGINS = tcp
-#DEBUG = YES
+DEBUG = YES
#PREFIX = xterm -T transport2 -e gdb --command=cmd --args
#PREFIX = valgrind --leak-check=full
ALLOW_SHUTDOWN = YES
Modified: gnunet/src/transport/test_transport_api_tcp_peer2.conf
===================================================================
--- gnunet/src/transport/test_transport_api_tcp_peer2.conf 2010-02-17
21:48:52 UTC (rev 10355)
+++ gnunet/src/transport/test_transport_api_tcp_peer2.conf 2010-02-17
22:17:37 UTC (rev 10356)
@@ -49,8 +49,8 @@
[transport]
PLUGINS = tcp
-#DEBUG = YES
-PREFIX =
+DEBUG = YES
+# PREFIX =
ALLOW_SHUTDOWN = YES
ACCEPT_FROM6 = ::1;
ACCEPT_FROM = 127.0.0.1;
Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c 2010-02-17 21:48:52 UTC (rev
10355)
+++ gnunet/src/transport/transport_api.c 2010-02-17 22:17:37 UTC (rev
10356)
@@ -640,6 +640,26 @@
ret += (mret + sizeof (struct OutboundMessage));
size -= (mret + sizeof (struct OutboundMessage));
}
+ else
+ {
+ switch (n->transmit_stage)
+ {
+ case TS_NEW:
+ GNUNET_break (0);
+ break;
+ case TS_QUEUED:
+ GNUNET_break (0);
+ break;
+ case TS_TRANSMITTED:
+ n->transmit_stage = TS_NEW;
+ break;
+ case TS_TRANSMITTED_QUEUED:
+ GNUNET_break (0);
+ break;
+ default:
+ GNUNET_break (0);
+ }
+ }
}
schedule_transmission (h);
#if DEBUG_TRANSPORT
@@ -1565,9 +1585,15 @@
void *notify_cls;
th->notify_delay_task = GNUNET_SCHEDULER_NO_TASK;
+ n = th->neighbour;
+#if DEBUG_TRANSPORT
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Triggering timeout for request to transmit to `%4s' (%d)\n",
+ GNUNET_i2s (&n->id),
+ n->transmit_stage);
+#endif
notify = th->notify;
notify_cls = th->notify_cls;
- n = th->neighbour;
switch (n->transmit_stage)
{
case TS_NEW:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r10356 - gnunet/src/transport,
gnunet <=