[
Index ] [ Bottom ]

Circ v2.1


Circular buffer application interface

The idea and the first implementation of the circular buffer comes from
Harry Beker. It allows high speed event buffering and passing between 
processes or threads using a simple reserve/validate and locate/release
mechanism. Event data can be prepared and processed in place and hence
avoiding unnecessary data copies.

Modification have been applied to improve error handling, POSIX and thread
support and documentaion. Furthermore there are now also special functions
to ease parallel processing especially for event building.

The circular buffer supports the following interfaces for inter-process-
communication (IPC).

 1. SYSV shared memory and semaphore.
 2. POSIX (P1003.1b) shared memory and semaphore.
 3. POSIX threads and mutex function.

For the inter-thread version the POSIX mutex calls are used to make
atomic access to the circular buffer header instead of POSIX or SYSV
semaphores for the inter-process version.

Have a look to the example and test programs:
   Circread.c   and 
   Circwrite.c  for inter-process
   Circthread.c for inter-threads.

Note: There are FORTRAN bindings as well (inter-process version only)!

[
Index ] [ Top ]
Created 27/07/97 14:07 by source2html v0.9