typedef std::pair<size_t, char*> Update::BinSeq |
Definition at line 36 of file UpdateDataTypes.h.
typedef struct ActorStrt< QosSeq, QosSeq, std::string,BinSeq, ContentSubscriptionBin > Update::DActor |
Definition at line 175 of file UpdateDataTypes.h.
typedef struct ImageData< DTopic,DParticipant,DActor,DActor > Update::DImage |
Definition at line 195 of file UpdateDataTypes.h.
typedef DDS::DomainId_t Update::DomainIdType |
Definition at line 34 of file UpdateDataTypes.h.
typedef struct ParticipantStrt< QosSeq > Update::DParticipant |
Definition at line 106 of file UpdateDataTypes.h.
typedef struct TopicStrt< QosSeq, std::string > Update::DTopic |
Definition at line 86 of file UpdateDataTypes.h.
typedef OpenDDS::DCPS::RepoId Update::IdType |
Definition at line 35 of file UpdateDataTypes.h.
typedef long Update::PartIdType |
Definition at line 38 of file UpdateDataTypes.h.
typedef std::pair<SpecificQos, BinSeq> Update::QosSeq |
Definition at line 37 of file UpdateDataTypes.h.
typedef struct ImageData< UTopic *, UParticipant *, URActor *, UWActor * > Update::UImage |
Definition at line 194 of file UpdateDataTypes.h.
typedef struct ParticipantStrt< DDS::DomainParticipantQos & > Update::UParticipant |
Definition at line 105 of file UpdateDataTypes.h.
typedef struct ActorStrt< DDS::SubscriberQos &,DDS::DataReaderQos &,std::string,OpenDDS::DCPS::TransportLocatorSeq &,ContentSubscriptionInfo & > Update::URActor |
Definition at line 163 of file UpdateDataTypes.h.
typedef struct TopicStrt< DDS::TopicQos &, std::string > Update::UTopic |
Definition at line 85 of file UpdateDataTypes.h.
typedef struct ActorStrt< DDS::PublisherQos &,DDS::DataWriterQos &,std::string,OpenDDS::DCPS::TransportLocatorSeq &,ContentSubscriptionInfo & > Update::UWActor |
Definition at line 169 of file UpdateDataTypes.h.
enum Update::ActorType |
Definition at line 23 of file UpdateDataTypes.h.
00023 { DataReader, DataWriter };
enum Update::ItemType |
Definition at line 22 of file UpdateDataTypes.h.
00022 { Topic, Participant, Actor };
enum Update::SpecificQos |
Definition at line 24 of file UpdateDataTypes.h.
00024 { 00025 NoQos, 00026 ParticipantQos, 00027 TopicQos, 00028 DataWriterQos, 00029 PublisherQos, 00030 DataReaderQos, 00031 SubscriberQos 00032 };
void* Update::createIndex | ( | const std::string & | tag, | |
PersistenceUpdater::ALLOCATOR & | allocator, | |||
size_t | size, | |||
bool & | exists | |||
) |
Definition at line 228 of file PersistenceUpdater.cpp.
References ACE_TEXT(), ACE_Allocator_Adapter< class >::bind(), ACE_Allocator_Adapter< class >::find(), ACE_Allocator_Adapter< class >::free(), LM_ERROR, and ACE_Allocator_Adapter< class >::malloc().
Referenced by Update::PersistenceUpdater::init().
00231 { 00232 void* index = 0; 00233 00234 // This is the easy case since if we find hash table in the 00235 // memory-mapped file we know it's already initialized. 00236 if (allocator.find(tag.c_str(), index) == 0) { 00237 exists = true; 00238 return index; 00239 00240 } else { 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 if (!index) { 00250 ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) ERROR: PersistenceUpdater::init " 00251 "Initial allocation/Bind failed for %C.\n"), tag.c_str())); 00252 } 00253 00254 return index; 00255 }
void Update::index_cleanup | ( | I * | index, | |
PersistenceUpdater::ALLOCATOR * | allocator | |||
) | [inline] |
Definition at line 258 of file PersistenceUpdater.cpp.
References ACE_TEXT(), and LM_ERROR.
Referenced by Update::PersistenceUpdater::init().
00260 { 00261 for (typename I::ITERATOR iter = index->begin() 00262 ; iter != index->end();) { 00263 typename I::ITERATOR current_iter = iter; 00264 iter++; 00265 00266 if (index->unbind((*current_iter).ext_id_, allocator) != 0) { 00267 ACE_ERROR((LM_ERROR, ACE_TEXT("(%P|%t) ERROR: PersistenceUpdater::init:" 00268 "Index unbind failed.\n"))); 00269 } 00270 } 00271 }