Loading...
Searching...
No Matches
FIFO Queue
Globus Common API

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.
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)

## Detailed Description

FIFO Queue Implementation.

## Typedef Documentation

## globus_fifo_t

typedef struct globus_fifo_s* globus_fifo_t

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

## Function Documentation

## globus_fifo_convert_to_list()

globus_list_t * globus_fifo_convert_to_list | ( | globus_fifo_t * | fifo | ) |

extern

Convert the fifo into a list.

## globus_fifo_copy()

globus_fifo_t * globus_fifo_copy | ( | const globus_fifo_t * | fifo | ) |

extern

Make a copy of the fifo. globus_fifo_destroy() must be called the returned pointer to free memory associated with it.

## globus_fifo_dequeue()

void * globus_fifo_dequeue | ( | globus_fifo_t * | fifo | ) |

extern

dequeue the element at the front of the queue.

## globus_fifo_destroy()

void globus_fifo_destroy | ( | globus_fifo_t * | fifo | ) |

extern

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()

## globus_fifo_destroy_all()

void globus_fifo_destroy_all | ( | globus_fifo_t * | fifo,
|  | void(* | datum_free )(void *) )

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()

## globus_fifo_empty()

int globus_fifo_empty | ( | const globus_fifo_t * | fifo | ) |

extern

This function returns a boolean indicating whether or not the fifo is empty.

## globus_fifo_enqueue()

int globus_fifo_enqueue | ( | globus_fifo_t * | fifo,
|  | void * | datum )

extern

Add data to the back of the queue.

## globus_fifo_init()

int globus_fifo_init | ( | globus_fifo_t * | fifo | ) |

extern

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.

## globus_fifo_move()

int globus_fifo_move | ( | globus_fifo_t * | fifo_dest,
|  | globus_fifo_t * | fifo_src )

extern

Move the queue from fifo_src pointer to fifo_dest pointer.

## globus_fifo_peek()

void * globus_fifo_peek | ( | globus_fifo_t * | fifo | ) |

extern

get a pointer to the element at the front of the queue.

## globus_fifo_remove()

void * globus_fifo_remove | ( | globus_fifo_t * | headp,
|  | void * | datum )

extern

remove datum from anywhere in the queue.

## globus_fifo_size()

int globus_fifo_size | ( | const globus_fifo_t * | fifo | ) |

extern

This function returns a integer representing the number of elements in the queue.

## globus_fifo_tail_peek()

void * globus_fifo_tail_peek | ( | globus_fifo_t * | fifo | ) |

extern

Get a pointer to the element at the back of the queue.