eq::base Namespace Reference

Equalizer utility layer. More...


Classes

class  Atomic
 An variable with atomic operations. More...
class  Buffer
 A simple memory buffer with some helper functions. More...
class  Clock
 A class for time measurements. More...
class  DSO
 Helper to access dynamic shared objects (DSO). More...
class  ExecutionListener
 A listener interface to monitor execution unit (Thread, Process) state changes. More...
class  PtrHash
 A hash for pointer keys. More...
struct  hashRefPtr
 A hash function for RefPtr keys. More...
class  RefPtrHash
 A hash for RefPtr keys. More...
class  IDPool
 A identifier pool. More...
class  Launcher
 The launcher executes a command from a separate process. More...
class  LockPrivate
class  Lock
 A lock (mutex) primitive. More...
class  LogBuffer
 The string buffer used for logging. More...
class  Log
 The logging class. More...
class  MemoryMap
 Helper to map a file to a memory address (mmap). More...
class  Monitor
 A monitor primitive. More...
class  MTQueue
 A queue with a blocking read access, typically used between two execution threads. More...
class  NonCopyable
 Base class to make objects non-copyable. More...
class  OMP
 Base class abstracting OpenMP. More...
class  PerThread
 Implements thread-specific storage for C++ objects. More...
class  PerThreadRef
 Thread-specific storage for a RefPtr. More...
class  Referenced
 Base class for referenced objects. More...
class  RefPtr
 A smart reference pointer. More...
class  RequestHandler
 A request handler. More...
class  RNG
 A random number generator. More...
class  ScopedMutex
 A scoped mutex. More...
class  ThreadPrivate
class  Thread
 An abstraction for an execution thread. More...
class  TimedLockPrivate
class  TimedLock
 A mutex with timeout capabilities. More...
class  UUID
 Provides a universally unique identifier. More...
class  UUIDHash
 A hash for UUID keys. More...

Typedefs

typedef Atomic< long > mtLong
typedef Buffer< uint8_t > Bufferb
typedef Monitor< bool > Monitorb
typedef Monitor< uint32_t > Monitoru

Enumerations

enum  LogLevel {
  LOG_ERROR = 1, LOG_WARN, LOG_INFO, LOG_VERB,
  LOG_ALL
}
 The logging levels. More...
enum  LogTopic { LOG_CUSTOM = 0x10, LOG_ANY = 0xffffu }
 The logging topics. More...

Functions

void memoryBarrier ()
 Perform a memory barrier (atomic operations).
template<class C , class D >
bool compareAndSwap (volatile C *addr, D old, D nw)
 Atomically replace the value at addr and return true if the value at addr matched old.
void abort ()
 Used to trap into an infinite loop to allow debugging of assertions.
void checkHeap ()
 Check the consistency of the heap and abort on error (Win32 only).
StringVector fileSearch (const std::string directory, const std::string pattern)
std::string getFilename (const std::string &filename)
std::string getDirname (const std::string &filename)
bool init ()
 Initialize the Equalizer base classes.
bool exit ()
 De-initialize the Equalizer base classes.
std::ostream & indent (std::ostream &os)
 Increases the indentation level of the Log stream, causing subsequent lines to be intended by four characters.
std::ostream & exdent (std::ostream &os)
 Decrease the indent of the Log stream.
std::ostream & disableFlush (std::ostream &os)
 Disable flushing of the Log stream.
std::ostream & enableFlush (std::ostream &os)
 Re-enable flushing of the Log stream.
std::ostream & forceFlush (std::ostream &os)
 Flush the Log stream regardless of the auto-flush state.
std::ostream & disableHeader (std::ostream &os)
 Disable printing of the Log header for subsequent lines.
std::ostream & enableHeader (std::ostream &os)
 Re-enable printing of the Log header for subsequent lines.
template<typename T >
std::ostream & operator<< (std::ostream &os, const Monitor< T > &monitor)
 Print the monitor to the given output stream.
template<class T >
std::ostream & operator<< (std::ostream &os, const RefPtr< T > &rp)
 Print the reference pointer to the given output stream.
void sleep (const uint32_t milliSeconds)
 Sleep the current thread for a number of milliseconds.
void _notifyStopping (void *arg)
std::ostream & operator<< (std::ostream &os, const Thread *thread)
 Print the thread to the given output stream.
std::ostream & operator<< (std::ostream &os, const UUID &id)
 UUID& ostream operator.

Variables

Clock _defaultClock
Clock_clock = &_defaultClock


Detailed Description

Equalizer utility layer.

The eq::base namespace provides C++ classes to abstract the underlying operating system and implements common helper functionality. Classes with non-virtual destructors are not intended to be subclassed.


Enumeration Type Documentation

The logging levels.

Enumerator:
LOG_ERROR  Output critical errors.
LOG_WARN  Output potentially critical warnings.
LOG_INFO  Output informational messages.
LOG_VERB  Be noisy.

Definition at line 49 of file lib/base/log.h.

The logging topics.

See also:
net/log.h, client/log.h
Enumerator:
LOG_CUSTOM  Log topics for other namespaces start here.
LOG_ANY  Log all Equalizer topics.

Definition at line 63 of file lib/base/log.h.


Function Documentation

void eq::base::checkHeap (  ) 

Check the consistency of the heap and abort on error (Win32 only).

Definition at line 38 of file debug.cpp.

References disableFlush(), enableFlush(), and EQERROR.

Here is the call graph for this function:

std::string eq::base::getFilename ( const std::string &  filename  )  [inline]

Returns:
the file name part of a path

Definition at line 100 of file fileSearch.h.

std::string eq::base::getDirname ( const std::string &  filename  )  [inline]

Returns:
the directory name part of a path

Definition at line 113 of file fileSearch.h.

bool eq::base::init (  ) 

Initialize the Equalizer base classes.

Returns:
true if the library was successfully initialised, false otherwise.

Definition at line 28 of file base/init.cpp.

References eq::base::Thread::pinCurrentThread().

Referenced by eq::net::init().

Here is the call graph for this function:

Here is the caller graph for this function:

bool eq::base::exit (  ) 

De-initialize the Equalizer base classes.

Returns:
true if the library was successfully de-initialised, false otherwise.

Definition at line 34 of file base/init.cpp.

References eq::base::Thread::removeAllListeners().

Referenced by eq::base::Launcher::run().

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & eq::base::exdent ( std::ostream &  os  ) 

Decrease the indent of the Log stream.

Definition at line 199 of file log.cpp.

References eq::base::Log::exdent().

Referenced by eq::server::Server::run().

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & eq::base::disableFlush ( std::ostream &  os  ) 

Disable flushing of the Log stream.

Definition at line 207 of file log.cpp.

References eq::base::Log::disableFlush().

Referenced by checkHeap(), eq::debugGLError(), eq::net::Node::initLocal(), and eq::server::Server::run().

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & eq::base::enableFlush ( std::ostream &  os  ) 

Re-enable flushing of the Log stream.

Definition at line 214 of file log.cpp.

References eq::base::Log::enableFlush().

Referenced by checkHeap(), eq::debugGLError(), eq::net::Node::initLocal(), and eq::server::Server::run().

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream & eq::base::forceFlush ( std::ostream &  os  ) 

Flush the Log stream regardless of the auto-flush state.

Definition at line 221 of file log.cpp.

References eq::base::Log::forceFlush().

Here is the call graph for this function:

std::ostream & eq::base::disableHeader ( std::ostream &  os  ) 

Disable printing of the Log header for subsequent lines.

Definition at line 229 of file log.cpp.

References eq::base::Log::disableHeader().

Here is the call graph for this function:

std::ostream & eq::base::enableHeader ( std::ostream &  os  ) 

Re-enable printing of the Log header for subsequent lines.

Definition at line 236 of file log.cpp.

References eq::base::Log::enableHeader().

Here is the call graph for this function:

template<typename T >
std::ostream& eq::base::operator<< ( std::ostream &  os,
const Monitor< T > &  monitor 
) [inline]

Print the monitor to the given output stream.

template<class T >
std::ostream& eq::base::operator<< ( std::ostream &  os,
const RefPtr< T > &  rp 
) [inline]

Print the reference pointer to the given output stream.

Definition at line 141 of file refPtr.h.

void eq::base::sleep ( const uint32_t  milliSeconds  )  [inline]

Sleep the current thread for a number of milliseconds.

Definition at line 28 of file sleep.h.

void eq::base::_notifyStopping ( void *  arg  ) 

For internal use only.

Definition at line 161 of file thread.cpp.

std::ostream & eq::base::operator<< ( std::ostream &  os,
const Thread *  thread 
)

Print the thread to the given output stream.

Definition at line 378 of file thread.cpp.

References eq::base::Thread::_data, and eq::base::Thread::_state.

std::ostream& eq::base::operator<< ( std::ostream &  os,
const UUID &  id 
) [inline]

UUID& ostream operator.

Definition at line 207 of file uuid.h.

Generated on Mon Aug 10 18:58:43 2009 for Equalizer 0.9 by  doxygen 1.5.8