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
 An identifier pool. More...
class  Launcher
 The launcher executes a command from a separate process. More...
class  LFQueue
 A thread-safe, lock-free queue with non-blocking access. More...
class  LockPrivate
class  Lock
 A lock (mutex) primitive. More...
class  Lockable
 A convenience structure to hold data together with a lock for access. 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 thread-safe queue with a blocking read access. More...
class  NonCopyable
 Base class to make objects non-copyable. More...
class  OMP
 Base class for OpenMP functionality. 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 utility class to execute code in a separate execution thread. More...
class  ScopedThreadCheck
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 > a_int32_t
typedef Buffer< uint8_t > Bufferb
typedef Monitor< bool > Monitorb
typedef Monitor< uint32_t > Monitoru
typedef std::vector< std::string > StringVector
 A vector of std::string.

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 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).
std::ostream & sysError (std::ostream &os)
 Print a textual description of the current system error.
StringVector searchDirectory (const std::string directory, const std::string pattern)
 Retrieve a list of files in a directory matching a 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.
void fastCopy (void *dst, const void *src, uint32_t nbytes)
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.


Typedef Documentation

typedef std::vector< std::string > eq::base::StringVector

A vector of std::string.

Version:
1.0

Definition at line 112 of file lib/base/types.h.


Enumeration Type Documentation

The logging levels.

Version:
1.0
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
Version:
1.0
Enumerator:
LOG_CUSTOM 

Log topics for other namespaces start here.

LOG_ANY 

Log all Equalizer topics.

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


Function Documentation

void eq::base::abort (  ) 

Used to trap into an infinite loop to allow debugging of assertions.

For internal use only.

void eq::base::checkHeap (  ) 

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

For internal use only.

std::ostream & eq::base::sysError ( std::ostream &  os  ) 
StringVector eq::base::searchDirectory ( const std::string  directory,
const std::string  pattern 
) [inline]

Retrieve a list of files in a directory matching a pattern.

Only foo*bar pattern are implemented currently.

Returns:
all file names matching the given pattern in the given directory.
Version:
1.0

Definition at line 42 of file file.h.

References EQVERB.

std::string eq::base::getFilename ( const std::string &  filename  )  [inline]
Returns:
the file name part of a path.
Version:
1.0

Definition at line 111 of file file.h.

Referenced by eq::AGLEventHandler::initMagellan().

Here is the caller graph for this function:

std::string eq::base::getDirname ( const std::string &  filename  )  [inline]
Returns:
the directory name part of a path.
Version:
1.0

Definition at line 124 of file file.h.

bool eq::base::init (  ) 

Initialize the Equalizer base classes.

Returns:
true if the library was successfully initialised, false otherwise.
Version:
1.0
bool eq::base::exit (  ) 

De-initialize the Equalizer base classes.

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

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

Here is the caller graph for this function:

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

Increases the indentation level of the Log stream, causing subsequent lines to be intended by four characters.

Version:
1.0

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

Here is the caller graph for this function:

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

Decrease the indent of the Log stream.

Version:
1.0

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

Here is the caller graph for this function:

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

Disable flushing of the Log stream.

Version:
1.0

Referenced by eq::net::VersionedSlaveCM::addInstanceDatas(), eq::net::Node::initLocal(), and eq::server::Server::run().

Here is the caller graph for this function:

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

Re-enable flushing of the Log stream.

Version:
1.0

Referenced by eq::net::VersionedSlaveCM::addInstanceDatas(), eq::net::Node::initLocal(), and eq::server::Server::run().

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.

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

Disable printing of the Log header for subsequent lines.

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

Re-enable printing of the Log header.

Version:
1.0
void eq::base::fastCopy ( void *  dst,
const void *  src,
uint32_t  nbytes 
) [inline]

For internal use only.

Definition at line 28 of file memcpy.h.

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

Print the monitor to the given output stream.

Version:
1.0

Definition at line 168 of file monitor.h.

References eq::base::Monitor< T >::get().

Here is the call graph for this function:

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 164 of file refPtr.h.

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

Sleep the current thread for a number of milliseconds.

Version:
1.0

Definition at line 28 of file sleep.h.

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

For internal use only.

Definition at line 155 of file thread.cpp.

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

Print the thread to the given output stream.

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

UUID& ostream operator.

Definition at line 220 of file uuid.h.

Generated on Sat Feb 6 13:07:47 2010 for Equalizer 0.9.1 by  doxygen 1.6.1