FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
circular_bfr.hpp File Reference
#include <stdint.h>
#include <time.h>
#include <utils/base/compiler_hints.h>
#include <sched.h>
#include <utils/base/circular_wait.hpp>

Go to the source code of this file.

Classes

struct  SharedBufferRegionHeader_32
 Region header for a 32-bit shared memory segment. More...
 
struct  SharedBufferRegionHeader_64
 Region header for a 64-bit shared memory segment. More...
 
struct  SharedBufferAllocRecord_32
 Allocation record for chains in a 32-bit shared memory buffer. More...
 
struct  SharedBufferAllocRecord_64
 Allocation record for chains in a 64-bit shared memory buffer. More...
 
class  BufferRegion
 Interface to a buffer region. This is an abstract class. More...
 
class  CircularBufferManager
 Impose a circular buffer on a BufferRegion. More...
 
class  FixedBufferManager
 Impose a fixed-size buffer on a BufferRegion. More...
 

Macros

#define DEFAULT_CIRCULAR_BFR_MAGIC_NUMBER   "CIRCBFR"
 Magic number to identify a shared memory circular buffer. More...
 
#define DEFAULT_FIXED_BFR_MAGIC_NUMBER   "FIXDBFR"
 Magic number to identify a fixed-size memory buffer. More...
 
#define SHARED_BUFFER_OFFSET_SIZE   4
 

Typedefs

typedef uint32_t SharedBuffer_Offset_t
 
typedef SharedBufferRegionHeader_32 SharedBufferRegionHeader
 Default SharedBufferRegionHeader. More...
 
typedef SharedBufferAllocRecord_32 SharedBufferAllocRecord
 Default SharedBufferAllocRecord. More...
 

Functions

bool sharedBufferSegmentIsInNativeByteOrder (const void *segment)
 Indicates if segment uses native byte order. More...
 
bool sharedBufferSegmentSizeIs64bit (const void *segment)
 Indicates if segment uses 64-bit offsets. More...
 
void waitForBufferAllocRecordToBeReady (SharedBufferAllocRecord *rec)
 Verify record is prepared and, if needed, wait until it is prepared. More...
 
Generated: Fri Jul 31 2020 18:19:15
Support Information