Update Namespace Reference


Classes

struct  TopicStrt< QosSeq, ACE_CString >
struct  ParticipantStrt< QosSeq >
struct  ActorStrt< QosSeq, QosSeq, ACE_CString, BinSeq, ContentSubscriptionBin >
class  PersistenceUpdater
struct  IdPath
struct  OwnershipData
struct  TopicStrt
struct  ParticipantStrt
struct  ContentSubscriptionInfo
struct  ContentSubscriptionBin
struct  ActorStrt
struct  ImageData
class  SeqGuard
class  Manager
class  Updater

Typedefs

typedef long DomainIdType
typedef OpenDDS::DCPS::RepoId IdType
typedef std::pair< size_t,
char * > 
BinSeq
typedef std::pair< SpecificQos,
BinSeq
QosSeq
typedef TopicStrt< DDS::TopicQos &,
std::string > 
UTopic
typedef TopicStrt< QosSeq,
std::string > 
DTopic
typedef ParticipantStrt< DDS::DomainParticipantQos & > UParticipant
typedef ParticipantStrt< QosSeqDParticipant
typedef ActorStrt< DDS::SubscriberQos &,
DDS::DataReaderQos &, std::string,
OpenDDS::DCPS::TransportLocatorSeq &,
ContentSubscriptionInfo & > 
URActor
typedef ActorStrt< DDS::PublisherQos &,
DDS::DataWriterQos &, std::string,
OpenDDS::DCPS::TransportLocatorSeq &,
ContentSubscriptionInfo & > 
UWActor
typedef ActorStrt< QosSeq,
QosSeq, std::string, BinSeq,
ContentSubscriptionBin
DActor
typedef ImageData< UTopic *,
UParticipant *, URActor *,
UWActor * > 
UImage
typedef ImageData< DTopic,
DParticipant, DActor, DActor
DImage

Enumerations

enum  ItemType { Topic, Participant, Actor }
enum  ActorType { DataReader, DataWriter }
enum  SpecificQos {
  NoQos, ParticipantQos, TopicQos, DataWriterQos,
  PublisherQos, DataReaderQos, SubscriberQos
}

Functions

void * createIndex (const std::string &tag, PersistenceUpdater::ALLOCATOR &allocator, size_t size, bool &exists)
template<typename I>
void index_cleanup (I *index, PersistenceUpdater::ALLOCATOR *allocator)


Typedef Documentation

typedef long Update::DomainIdType

Definition at line 31 of file UpdateDataTypes.h.

typedef OpenDDS::DCPS::RepoId Update::IdType

Definition at line 32 of file UpdateDataTypes.h.

typedef std::pair<size_t, char*> Update::BinSeq

Definition at line 33 of file UpdateDataTypes.h.

typedef std::pair<SpecificQos, BinSeq> Update::QosSeq

Definition at line 34 of file UpdateDataTypes.h.

typedef struct TopicStrt< DDS::TopicQos &, std::string > Update::UTopic

Definition at line 80 of file UpdateDataTypes.h.

typedef struct TopicStrt< QosSeq, std::string > Update::DTopic

Definition at line 81 of file UpdateDataTypes.h.

typedef struct ParticipantStrt< DDS::DomainParticipantQos & > Update::UParticipant

Definition at line 99 of file UpdateDataTypes.h.

typedef struct ParticipantStrt< QosSeq > Update::DParticipant

Definition at line 100 of file UpdateDataTypes.h.

typedef struct ActorStrt< DDS::SubscriberQos &,DDS::DataReaderQos &,std::string,OpenDDS::DCPS::TransportLocatorSeq &,ContentSubscriptionInfo & > Update::URActor

Definition at line 157 of file UpdateDataTypes.h.

typedef struct ActorStrt< DDS::PublisherQos &,DDS::DataWriterQos &,std::string,OpenDDS::DCPS::TransportLocatorSeq &,ContentSubscriptionInfo & > Update::UWActor

Definition at line 163 of file UpdateDataTypes.h.

typedef struct ActorStrt< QosSeq, QosSeq, std::string,BinSeq, ContentSubscriptionBin > Update::DActor

Definition at line 169 of file UpdateDataTypes.h.

typedef struct ImageData< UTopic *, UParticipant *, URActor *, UWActor * > Update::UImage

Definition at line 185 of file UpdateDataTypes.h.

typedef struct ImageData< DTopic,DParticipant,DActor,DActor > Update::DImage

Definition at line 186 of file UpdateDataTypes.h.


Enumeration Type Documentation

enum Update::ItemType

Enumerator:
Topic 
Participant 
Actor 

Definition at line 19 of file UpdateDataTypes.h.

00019 { Topic, Participant, Actor };

enum Update::ActorType

Enumerator:
DataReader 
DataWriter 

Definition at line 20 of file UpdateDataTypes.h.

00020 { DataReader, DataWriter };

enum Update::SpecificQos

Enumerator:
NoQos 
ParticipantQos 
TopicQos 
DataWriterQos 
PublisherQos 
DataReaderQos 
SubscriberQos 

Definition at line 21 of file UpdateDataTypes.h.

00021                  {
00022   NoQos,
00023   ParticipantQos,
00024   TopicQos,
00025   DataWriterQos,
00026   PublisherQos,
00027   DataReaderQos,
00028   SubscriberQos
00029 };


Function Documentation

void* Update::createIndex ( const std::string &  tag,
PersistenceUpdater::ALLOCATOR &  allocator,
size_t  size,
bool &  exists 
)

Definition at line 226 of file PersistenceUpdater.cpp.

Referenced by Update::PersistenceUpdater::init().

00229 {
00230   void* index = 0;
00231 
00232   // This is the easy case since if we find hash table in the
00233   // memory-mapped file we know it's already initialized.
00234   if (allocator.find(tag.c_str(), index) == 0) {
00235     exists = true;
00236     return index;
00237 
00238   } else {
00239     exists = false;
00240 
00241     ACE_ALLOCATOR_RETURN(index, allocator.malloc(size), 0);
00242 
00243     if (allocator.bind(tag.c_str(), index) == -1) {
00244       allocator.free(index);
00245       index = 0;
00246     }
00247   }
00248 
00249   return index;
00250 }

template<typename I>
void Update::index_cleanup ( I *  index,
PersistenceUpdater::ALLOCATOR *  allocator 
)

Definition at line 253 of file PersistenceUpdater.cpp.

Referenced by Update::PersistenceUpdater::init().

00255 {
00256   for (typename I::ITERATOR iter = index->begin()
00257                                    ; iter != index->end();) {
00258     typename I::ITERATOR current_iter = iter;
00259     iter++;
00260 
00261     if (index->unbind((*current_iter).ext_id_, allocator) != 0) {
00262       ACE_ERROR((LM_ERROR, ACE_TEXT("Index unbind failed.\n")));
00263     }
00264   }
00265 }


Generated on Fri Feb 12 20:06:52 2016 for OpenDDS by  doxygen 1.4.7