Grid Community Toolkit
6.2.1705709074 (tag: v6.2.20240202)
|
FIFO Queue Implementation. More...
Typedefs | |
typedef struct globus_fifo_s * | globus_fifo_t |
Functions | |
int | globus_fifo_init (globus_fifo_t *fifo) |
Initialize the fifo structure. More... | |
void | globus_fifo_destroy (globus_fifo_t *fifo) |
void | globus_fifo_destroy_all (globus_fifo_t *fifo, void(*datum_free)(void *)) |
int | globus_fifo_empty (const globus_fifo_t *fifo) |
int | globus_fifo_size (const globus_fifo_t *fifo) |
int | globus_fifo_enqueue (globus_fifo_t *fifo, void *datum) |
globus_fifo_t * | globus_fifo_copy (const globus_fifo_t *fifo) |
void * | globus_fifo_peek (globus_fifo_t *fifo) |
void * | globus_fifo_tail_peek (globus_fifo_t *fifo) |
void * | globus_fifo_remove (globus_fifo_t *headp, void *datum) |
void * | globus_fifo_dequeue (globus_fifo_t *fifo) |
int | globus_fifo_move (globus_fifo_t *fifo_dest, globus_fifo_t *fifo_src) |
globus_list_t * | globus_fifo_convert_to_list (globus_fifo_t *fifo) |
FIFO Queue Implementation.
typedef struct globus_fifo_s* globus_fifo_t |
Data type used in all function calls to manipulate a Globus FIFO
globus_list_t* globus_fifo_convert_to_list | ( | globus_fifo_t * | fifo | ) |
Convert the fifo into a list.
globus_fifo_t* globus_fifo_copy | ( | const globus_fifo_t * | fifo | ) |
Make a copy of the fifo. globus_fifo_destroy() must be called the returned pointer to free memory associated with it.
void* globus_fifo_dequeue | ( | globus_fifo_t * | fifo | ) |
dequeue the element at the front of the queue.
void globus_fifo_destroy | ( | globus_fifo_t * | fifo | ) |
Destroy the fifo data structure.
This function destroys the memory associate with the fifo data structure. For every call to globus_fifo_init() there must be a corresponding call to globus_fifo_destroy()
void globus_fifo_destroy_all | ( | globus_fifo_t * | fifo, |
void(*)(void *) | datum_free | ||
) |
Destroy the fifo data structure.
This function destroys the memory associate with the fifo data structure. It calls datum_free() on behalf of all remaining nodes in the queue. For every call to globus_fifo_init() there must be a corresponding call to globus_fifo_destroy()
int globus_fifo_empty | ( | const globus_fifo_t * | fifo | ) |
This function returns a boolean indicating whether or not the fifo is empty.
int globus_fifo_enqueue | ( | globus_fifo_t * | fifo, |
void * | datum | ||
) |
Add data to the back of the queue.
int globus_fifo_init | ( | globus_fifo_t * | fifo | ) |
Initialize the fifo structure.
This function initializes the fifo data structure. The structure must be initialized before it can be used with any other function.
int globus_fifo_move | ( | globus_fifo_t * | fifo_dest, |
globus_fifo_t * | fifo_src | ||
) |
Move the queue from fifo_src pointer to fifo_dest pointer.
void* globus_fifo_peek | ( | globus_fifo_t * | fifo | ) |
get a pointer to the element at the front of the queue.
void* globus_fifo_remove | ( | globus_fifo_t * | headp, |
void * | datum | ||
) |
remove datum from anywhere in the queue.
int globus_fifo_size | ( | const globus_fifo_t * | fifo | ) |
This function returns a integer representing the number of elements in the queue.
void* globus_fifo_tail_peek | ( | globus_fifo_t * | fifo | ) |
Get a pointer to the element at the back of the queue.