OpenDDS::DCPS::ShmemTransport::ReadTask Struct Reference

Inheritance diagram for OpenDDS::DCPS::ShmemTransport::ReadTask:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::ShmemTransport::ReadTask:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ReadTask (ShmemTransport *outer, ACE_sema_t semaphore)
int svc ()
void stop ()

Public Attributes

ShmemTransportouter_
ACE_sema_t semaphore_
bool stopped_

Detailed Description

Definition at line 85 of file ShmemTransport.h.


Constructor & Destructor Documentation

OpenDDS::DCPS::ShmemTransport::ReadTask::ReadTask ( ShmemTransport outer,
ACE_sema_t  semaphore 
)

Definition at line 243 of file ShmemTransport.cpp.

References ACE_Task_Base::activate().

00244   : outer_(outer)
00245   , semaphore_(semaphore)
00246   , stopped_(false)
00247 {
00248   activate();
00249 }

Here is the call graph for this function:


Member Function Documentation

void OpenDDS::DCPS::ShmemTransport::ReadTask::stop ( void   ) 

Definition at line 265 of file ShmemTransport.cpp.

References ACE_OS::sema_post(), semaphore_, stopped_, and ACE_Task_Base::wait().

00266 {
00267   stopped_ = true;
00268   ACE_OS::sema_post(&semaphore_);
00269   wait();
00270 }

Here is the call graph for this function:

int OpenDDS::DCPS::ShmemTransport::ReadTask::svc ( void   )  [virtual]

Reimplemented from ACE_Task_Base.

Definition at line 252 of file ShmemTransport.cpp.

References outer_, OpenDDS::DCPS::ShmemTransport::read_from_links(), ACE_OS::sema_wait(), semaphore_, and stopped_.

00253 {
00254   while (true) {
00255     ACE_OS::sema_wait(&semaphore_);
00256     if (stopped_) {
00257       return 0;
00258     }
00259     outer_->read_from_links();
00260   }
00261   return 1;
00262 }

Here is the call graph for this function:


Member Data Documentation

Definition at line 90 of file ShmemTransport.h.

Referenced by svc().

Definition at line 91 of file ShmemTransport.h.

Referenced by stop(), and svc().

Definition at line 92 of file ShmemTransport.h.

Referenced by stop(), and svc().


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1