IBR-DTNSuite  0.10
ibrcommon::Conditional Class Reference

#include <Conditional.h>

Inheritance diagram for ibrcommon::Conditional:
Inheritance graph
Collaboration diagram for ibrcommon::Conditional:
Collaboration graph

Classes

class  ConditionalAbortException
 

Public Member Functions

 Conditional ()
 
virtual ~Conditional ()
 
void signal (bool broadcast=false) throw ()
 
void wait (size_t timeout=0) throw (ConditionalAbortException)
 
void wait (struct timespec *ts) throw (ConditionalAbortException)
 
void abort () throw ()
 
void reset () throw ()
 
- Public Member Functions inherited from ibrcommon::Mutex
 Mutex (MUTEX_TYPE type=MUTEX_NORMAL)
 
virtual ~Mutex ()
 
virtual void trylock () throw (MutexException)
 
virtual void enter () throw (MutexException)
 
virtual void leave () throw (MutexException)
 
- Public Member Functions inherited from ibrcommon::MutexInterface
virtual ~MutexInterface ()=0
 

Static Public Member Functions

static void gettimeout (size_t timeout, struct timespec *hires) throw ()
 
- Static Public Member Functions inherited from ibrcommon::Mutex
static MutexInterfacedummy ()
 

Additional Inherited Members

- Public Types inherited from ibrcommon::Mutex
enum  MUTEX_TYPE { MUTEX_NORMAL = PTHREAD_MUTEX_NORMAL, MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE, MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK }
 
- Protected Attributes inherited from ibrcommon::Mutex
pthread_mutex_t m_mutex
 
pthread_mutexattr_t m_attr
 

Detailed Description

Definition at line 33 of file Conditional.h.

Constructor & Destructor Documentation

ibrcommon::Conditional::Conditional ( )

Definition at line 36 of file Conditional.cpp.

ibrcommon::Conditional::~Conditional ( )
virtual

Definition at line 41 of file Conditional.cpp.

Member Function Documentation

void ibrcommon::Conditional::abort ( ) throw ()

Abort all waits on this conditional.

Definition at line 154 of file Conditional.cpp.

References signal().

Referenced by dtn::api::Registration::abort(), ibrcommon::Queue< dtn::net::BundleTransfer >::abort(), dtn::core::EventSwitch::componentDown(), dtn::net::DatagramConnection::finally(), and term().

Here is the call graph for this function:

void ibrcommon::Conditional::gettimeout ( size_t  timeout,
struct timespec *  hires 
) throw ()
static

Convert a millisecond timeout into use for high resolution conditional timers.

Parameters
timeoutto convert.
hirestimespec representation to fill.

Definition at line 132 of file Conditional.cpp.

Referenced by ibrcommon::Queue< dtn::net::BundleTransfer >::__wait().

void ibrcommon::Conditional::reset ( ) throw ()
void ibrcommon::Conditional::wait ( struct timespec *  ts) throw (ConditionalAbortException)

Definition at line 94 of file Conditional.cpp.


The documentation for this class was generated from the following files: