-add adv port
[oweals/gnunet.git] / src / testbed / testbed_api_operations.h
index 08d6df2c0ecb96140abc6c88eb617fc03f53b146..e78ed0fcc1324a11043acbe25f47ebf24d59f204 100644 (file)
@@ -59,20 +59,32 @@ GNUNET_TESTBED_operation_queue_destroy_ (struct OperationQueue *queue);
 
 
 /**
- * Add an operation to a queue.  An operation can be in multiple
- * queues at once.  Once all queues permit the operation to become
- * active, the operation will be activated.  The actual activation
- * will occur in a separate task (thus allowing multiple queue 
- * insertions to be made without having the first one instantly
- * trigger the operation if the first queue has sufficient 
- * resources).
+ * Add an operation to a queue.  An operation can be in multiple queues at
+ * once. Once the operation is inserted into all the queues
+ * GNUNET_TESTBED_operation_begin_wait_() has to be called to actually start
+ * waiting for the operation to become active.
  *
  * @param queue queue to add the operation to
  * @param operation operation to add to the queue
  */
 void
 GNUNET_TESTBED_operation_queue_insert_ (struct OperationQueue *queue,
-                                       struct GNUNET_TESTBED_Operation *operation);
+                                        struct GNUNET_TESTBED_Operation
+                                        *operation);
+
+
+/**
+ * Marks the given operation as waiting on the queues.  Once all queues permit
+ * the operation to become active, the operation will be activated.  The actual
+ * activation will occur in a separate task (thus allowing multiple queue
+ * insertions to be made without having the first one instantly trigger the
+ * operation if the first queue has sufficient resources).
+ *
+ * @param operation the operation to marks as waiting
+ */
+void
+GNUNET_TESTBED_operation_begin_wait_ (struct GNUNET_TESTBED_Operation
+                                     *operation);
 
 
 /**
@@ -86,7 +98,8 @@ GNUNET_TESTBED_operation_queue_insert_ (struct OperationQueue *queue,
  */
 void
 GNUNET_TESTBED_operation_queue_remove_ (struct OperationQueue *queue,
-                                       struct GNUNET_TESTBED_Operation *operation);
+                                        struct GNUNET_TESTBED_Operation
+                                        *operation);
 
 
 
@@ -97,7 +110,7 @@ GNUNET_TESTBED_operation_queue_remove_ (struct OperationQueue *queue,
  *
  * @param cls the closure from GNUNET_TESTBED_operation_create_()
  */
-typedef void (*OperationStart)(void *cls);
+typedef void (*OperationStart) (void *cls);
 
 
 /**
@@ -113,7 +126,7 @@ typedef void (*OperationStart)(void *cls);
  *
  * @param cls the closure from GNUNET_TESTBED_operation_create_()
  */
-typedef void (*OperationRelease)(void *cls);
+typedef void (*OperationRelease) (void *cls);
 
 
 /**
@@ -125,9 +138,8 @@ typedef void (*OperationRelease)(void *cls);
  * @return handle to the operation
  */
 struct GNUNET_TESTBED_Operation *
-GNUNET_TESTBED_operation_create_ (void *cls,
-                                 OperationStart start,
-                                 OperationRelease release);
+GNUNET_TESTBED_operation_create_ (void *cls, OperationStart start,
+                                  OperationRelease release);
 
 
 /**