Grid Community Toolkit  6.2.1653033972 (tag: v6.2.20220524)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Typedefs | Functions

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_tglobus_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_tglobus_fifo_convert_to_list (globus_fifo_t *fifo)
 

Detailed Description

FIFO Queue Implementation.

Typedef Documentation

typedef struct globus_fifo_s* globus_fifo_t

Data type used in all function calls to manipulate a Globus FIFO

Function Documentation

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.