gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25902 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r25902 - gnunet/src/testbed
Date: Fri, 25 Jan 2013 16:11:47 +0100

Author: harsha
Date: 2013-01-25 16:11:47 +0100 (Fri, 25 Jan 2013)
New Revision: 25902

Modified:
   gnunet/src/testbed/gnunet-service-testbed.c
   gnunet/src/testbed/gnunet-service-testbed.h
   gnunet/src/testbed/gnunet-service-testbed_oc.c
Log:
- towards operation queues for open file descriptors

Modified: gnunet/src/testbed/gnunet-service-testbed.c
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed.c 2013-01-25 14:40:32 UTC (rev 
25901)
+++ gnunet/src/testbed/gnunet-service-testbed.c 2013-01-25 15:11:47 UTC (rev 
25902)
@@ -69,6 +69,11 @@
 struct ForwardedOperationContext *fopcq_tail;
 
 /**
+ * Operation queue for open file descriptors
+ */
+struct OperationQueue *GST_opq_openfds;
+
+/**
  * The size of the host list
  */
 unsigned int GST_host_list_size;
@@ -2113,6 +2118,8 @@
   GNUNET_CONFIGURATION_destroy (our_config);
   /* Free hello cache */
   GST_cache_clear ();
+  GNUNET_TESTBED_operation_queue_destroy_ (GST_opq_openfds);
+  GST_opq_openfds = NULL;
 }
 
 
@@ -2197,6 +2204,7 @@
   GNUNET_SERVER_add_handlers (server, message_handlers);
   GNUNET_SERVER_disconnect_notify (server, &client_disconnect_cb, NULL);
   ss_map = GNUNET_CONTAINER_multihashmap_create (5, GNUNET_NO);
+  GST_opq_openfds = GNUNET_TESTBED_operation_queue_create_ (GST_QLEN_OPENFDS);
   shutdown_task_id =
       GNUNET_SCHEDULER_add_delayed_with_priority (GNUNET_TIME_UNIT_FOREVER_REL,
                                                   
GNUNET_SCHEDULER_PRIORITY_IDLE,

Modified: gnunet/src/testbed/gnunet-service-testbed.h
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed.h 2013-01-25 14:40:32 UTC (rev 
25901)
+++ gnunet/src/testbed/gnunet-service-testbed.h 2013-01-25 15:11:47 UTC (rev 
25902)
@@ -55,6 +55,11 @@
 #define LIST_GROW_STEP 10
 
 /**
+ * How long should the operation queue for open file descriptors be?
+ */
+#define GST_QLEN_OPENFDS 512
+
+/**
  * Default timeout for operations which may take some time
  */
 #define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 15)
@@ -606,6 +611,11 @@
 extern struct Slave **GST_slave_list;
 
 /**
+ * Operation queue for open file descriptors
+ */
+extern struct OperationQueue *GST_opq_openfds;
+
+/**
  * The size of the peer list
  */
 extern unsigned int GST_peer_list_size;

Modified: gnunet/src/testbed/gnunet-service-testbed_oc.c
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed_oc.c      2013-01-25 14:40:32 UTC 
(rev 25901)
+++ gnunet/src/testbed/gnunet-service-testbed_oc.c      2013-01-25 15:11:47 UTC 
(rev 25902)
@@ -1006,13 +1006,24 @@
   uint32_t p2; 
   uint32_t peer2_host_id;
 
+  if (sizeof (struct GNUNET_TESTBED_OverlayConnectMessage)
+      != ntohs (message->size))
+  {
+    GNUNET_break (0);
+    GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+    return;
+  }
   msg = (const struct GNUNET_TESTBED_OverlayConnectMessage *) message;
   p1 = ntohl (msg->peer1);
   p2 = ntohl (msg->peer2);
+  if ((p1 >= GST_peer_list_size) || (NULL == GST_peer_list[p1]))
+  {
+    GNUNET_break (0);
+    GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+    return;
+  }
+  peer = GST_peer_list[p1];
   peer2_host_id = ntohl (msg->peer2_host_id);
-  GNUNET_assert (p1 < GST_peer_list_size);
-  GNUNET_assert (NULL != GST_peer_list[p1]);
-  peer = GST_peer_list[p1];
   operation_id = GNUNET_ntohll (msg->operation_id);  
   LOG_DEBUG ("Received overlay connect for peers %u and %u with op id: 
0x%llx\n",
             p1, p2, operation_id);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]