summaryrefslogtreecommitdiff
path: root/src/libstrongswan/utils/blocking_queue.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/utils/blocking_queue.h')
-rw-r--r--src/libstrongswan/utils/blocking_queue.h97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/libstrongswan/utils/blocking_queue.h b/src/libstrongswan/utils/blocking_queue.h
deleted file mode 100644
index cf2712cf4..000000000
--- a/src/libstrongswan/utils/blocking_queue.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2012 Tobias Brunner
- * Copyright (C) 2012 Giuliano Grassi
- * Copyright (C) 2012 Ralf Sager
- * Hochschule fuer Technik Rapperswil
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- */
-
-/**
- * @defgroup blocking_queue blocking_queue
- * @{ @ingroup utils
- */
-
-#ifndef BLOCKING_QUEUE_H_
-#define BLOCKING_QUEUE_H_
-
-typedef struct blocking_queue_t blocking_queue_t;
-
-#include <library.h>
-
-/**
- * Class implementing a synchronized blocking queue based on linked_list_t
- */
-struct blocking_queue_t {
-
- /**
- * Inserts a new item at the tail of the queue
- *
- * @param item item to insert in queue
- */
- void (*enqueue)(blocking_queue_t *this, void *item);
-
- /**
- * Removes the first item in the queue and returns its value.
- * If the queue is empty, this call blocks until a new item is inserted.
- *
- * @note This is a thread cancellation point
- *
- * @return removed item
- */
- void *(*dequeue)(blocking_queue_t *this);
-
- /**
- * Destroys a blocking_queue_t object.
- *
- * @note No thread must wait in dequeue() when this function is called
- */
- void (*destroy)(blocking_queue_t *this);
-
- /**
- * Destroys a queue and its objects using the given destructor.
- *
- * If a queue and the contained objects should be destroyed, use
- * destroy_offset. The supplied offset specifies the destructor to
- * call on each object. The offset may be calculated using the offsetof
- * macro, e.g.: queue->destroy_offset(queue, offsetof(object_t, destroy));
- *
- * @note No thread must wait in dequeue() when this function is called
- *
- * @param offset offset of the objects destructor
- */
- void (*destroy_offset)(blocking_queue_t *this, size_t offset);
-
- /**
- * Destroys a queue and its objects using a cleanup function.
- *
- * If a queue and its contents should get destroyed using a specific
- * cleanup function, use destroy_function. This is useful when the
- * list contains malloc()-ed blocks which should get freed,
- * e.g.: queue->destroy_function(queue, free);
- *
- * @note No thread must wait in dequeue() when this function is called
- *
- * @param function function to call on each object
- */
- void (*destroy_function)(blocking_queue_t *this, void (*)(void*));
-
-};
-
-/**
- * Creates an empty queue object.
- *
- * @return blocking_queue_t object.
- */
-blocking_queue_t *blocking_queue_create();
-
-#endif /** BLOCKING_QUEUE_H_ @}*/
-