OpenDDS
Snapshot(2023/03/10-19:29)
|
Implementation of the DCPSInfo. More...
#include <DCPSInfo_i.h>
Classes | |
struct | BIT_Cleanup_Handler |
Public Member Functions | |
TAO_DDS_DCPSInfo_i (CORBA::ORB_ptr orb, bool reincarnate, ShutdownInterface *shutdown, const TAO_DDS_DCPSFederationId &federation) | |
virtual | ~TAO_DDS_DCPSInfo_i () |
virtual int | handle_timeout (const ACE_Time_Value &now, const void *arg) |
virtual CORBA::Boolean | attach_participant (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId) |
virtual OpenDDS::DCPS::TopicStatus | assert_topic (OpenDDS::DCPS::GUID_t_out topicId, DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const char *topicName, const char *dataTypeName, const DDS::TopicQos &qos, bool hasDcpsKey) |
bool | add_topic (const OpenDDS::DCPS::GUID_t &topicId, DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const char *topicName, const char *dataTypeName, const DDS::TopicQos &qos) |
Add a previously existing topic to the repository. More... | |
virtual OpenDDS::DCPS::TopicStatus | find_topic (DDS::DomainId_t domainId, const char *topicName, CORBA::String_out dataTypeName, DDS::TopicQos_out qos, OpenDDS::DCPS::GUID_t_out topicId) |
virtual OpenDDS::DCPS::TopicStatus | remove_topic (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &topicId) |
virtual OpenDDS::DCPS::GUID_t | add_publication (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &topicId, OpenDDS::DCPS::DataWriterRemote_ptr publication, const DDS::DataWriterQos &qos, const OpenDDS::DCPS::TransportLocatorSeq &transInfo, const DDS::PublisherQos &publisherQos, const DDS::OctetSeq &serializedTypeInfo) |
bool | add_publication (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &topicId, const OpenDDS::DCPS::GUID_t &pubId, const char *pub_str, const DDS::DataWriterQos &qos, const OpenDDS::DCPS::TransportLocatorSeq &transInfo, ACE_CDR::ULong transportContext, const DDS::PublisherQos &publisherQos, const DDS::OctetSeq &serializedTypeInfo, bool associate=false) |
Add a previously existing publication to the repository. More... | |
virtual void | remove_publication (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &publicationId) |
virtual OpenDDS::DCPS::GUID_t | add_subscription (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &topicId, OpenDDS::DCPS::DataReaderRemote_ptr subscription, const DDS::DataReaderQos &qos, const OpenDDS::DCPS::TransportLocatorSeq &transInfo, const DDS::SubscriberQos &subscriberQos, const char *filterClassName, const char *filterExpression, const DDS::StringSeq &exprParams, const DDS::OctetSeq &serializedTypeInfo) |
bool | add_subscription (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &topicId, const OpenDDS::DCPS::GUID_t &subId, const char *sub_str, const DDS::DataReaderQos &qos, const OpenDDS::DCPS::TransportLocatorSeq &transInfo, ACE_CDR::ULong transportContext, const DDS::SubscriberQos &subscriberQos, const char *filterClassName, const char *filterExpression, const DDS::StringSeq &exprParams, const DDS::OctetSeq &serializedTypeInfo, bool associate=false) |
Add a previously existing subscription to the repository. More... | |
virtual void | remove_subscription (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &subscriptionId) |
virtual OpenDDS::DCPS::AddDomainStatus | add_domain_participant (DDS::DomainId_t domain, const DDS::DomainParticipantQos &qos) |
bool | add_domain_participant (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const DDS::DomainParticipantQos &qos) |
Add a previously existing participant to the repository. More... | |
virtual void | remove_domain_participant (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId) |
bool | remove_by_owner (DDS::DomainId_t domain, long owner) |
virtual void | disassociate_participant (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &local_id, const OpenDDS::DCPS::GUID_t &remote_id) |
virtual void | disassociate_subscription (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &local_id, const OpenDDS::DCPS::GUID_t &remote_id) |
virtual void | disassociate_publication (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &local_id, const OpenDDS::DCPS::GUID_t &remote_id) |
virtual void | ignore_domain_participant (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &myParticipantId, const OpenDDS::DCPS::GUID_t &ignoreId) |
virtual void | ignore_topic (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &myParticipantId, const OpenDDS::DCPS::GUID_t &ignoreId) |
virtual void | ignore_subscription (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &myParticipantId, const OpenDDS::DCPS::GUID_t &ignoreId) |
virtual void | ignore_publication (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &myParticipantId, const OpenDDS::DCPS::GUID_t &ignoreId) |
virtual CORBA::Boolean | update_publication_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &dwId, const DDS::DataWriterQos &qos, const DDS::PublisherQos &publisherQos) |
void | update_publication_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &dwId, const DDS::DataWriterQos &qos) |
Entry for federation updates of DataWriterQos values. More... | |
void | update_publication_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &dwId, const DDS::PublisherQos &qos) |
Entry for federation updates of PublisherQos values. More... | |
virtual CORBA::Boolean | update_subscription_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &drId, const DDS::DataReaderQos &qos, const DDS::SubscriberQos &subscriberQos) |
void | update_subscription_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &drId, const DDS::DataReaderQos &qos) |
Entry for federation updates of DataReaderQos values. More... | |
void | update_subscription_qos (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &partId, const OpenDDS::DCPS::GUID_t &drId, const DDS::SubscriberQos &qos) |
Entry for federation updates of SubscriberQos values. More... | |
virtual ::CORBA::Boolean | update_subscription_params (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const OpenDDS::DCPS::GUID_t &subscriptionId, const DDS::StringSeq ¶ms) |
virtual CORBA::Boolean | update_topic_qos (const OpenDDS::DCPS::GUID_t &topicId, DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, const DDS::TopicQos &qos) |
virtual CORBA::Boolean | update_domain_participant_qos (DDS::DomainId_t domain, const OpenDDS::DCPS::GUID_t &participantId, const DDS::DomainParticipantQos &qos) |
virtual void | shutdown () |
Cause the entire repository to exit. More... | |
virtual char * | dump_to_string () |
Dump the Repos state to string. More... | |
bool | changeOwnership (DDS::DomainId_t domainId, const OpenDDS::DCPS::GUID_t &participantId, long sender, long owner) |
assert new ownership for a participant and its contained entities. More... | |
int | init_transport (int listen_address_given, const char *listen_str) |
bool | receive_image (const Update::UImage &image) |
void | add (Update::Updater *updater) |
Add an additional Updater interface. More... | |
DCPS_IR_Domain * | domain (DDS::DomainId_t domain) |
Convert a domain Id into a reference to a DCPS_IR_Domain object. More... | |
const DCPS_IR_Domain_Map & | domains () const |
Expose a readable reference of the domain map. More... | |
CORBA::ORB_ptr | orb () |
Expose the ORB. More... | |
bool | init_persistence () |
bool | init_reassociation (const ACE_Time_Value &delay) |
bool | init_dispatchChecking (const ACE_Time_Value &delay) |
void | finalize () |
Cleanup state for shutdown. More... | |
void | cleanup_all_built_in_topics () |
![]() | |
virtual | ~ACE_Event_Handler (void) |
virtual ACE_HANDLE | get_handle (void) const |
virtual void | set_handle (ACE_HANDLE) |
virtual int | priority (void) const |
virtual void | priority (int priority) |
virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_exit (ACE_Process *) |
virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
virtual int | resume_handler (void) |
virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual void | reactor (ACE_Reactor *reactor) |
virtual ACE_Reactor * | reactor (void) const |
virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface (void) const |
virtual Reference_Count | add_reference (void) |
virtual Reference_Count | remove_reference (void) |
Reference_Counting_Policy & | reference_counting_policy (void) |
Private Attributes | |
DCPS_IR_Domain_Map | domains_ |
CORBA::ORB_var | orb_ |
CORBA::ORB_var | dispatchingOrb_ |
const TAO_DDS_DCPSFederationId & | federation_ |
OpenDDS::DCPS::RepoIdGenerator | participantIdGenerator_ |
Update::Manager * | um_ |
bool | reincarnate_ |
ShutdownInterface * | shutdown_ |
Interface to effect shutdown of the process. More... | |
ACE_Recursive_Thread_Mutex | lock_ |
long | reassociate_timer_id_ |
long | dispatch_check_timer_id_ |
bool | in_cleanup_all_built_in_topics_ |
Implementation of the DCPSInfo.
This is the Information Repository object. Clients of the system will use the CORBA reference of this object.
Definition at line 53 of file DCPSInfo_i.h.
TAO_DDS_DCPSInfo_i::TAO_DDS_DCPSInfo_i | ( | CORBA::ORB_ptr | orb, |
bool | reincarnate, | ||
ShutdownInterface * | shutdown, | ||
const TAO_DDS_DCPSFederationId & | federation | ||
) |
Definition at line 42 of file DCPSInfo_i.cpp.
References _duplicate(), dispatchingOrb_, CORBA::ORB_init(), and TheServiceParticipant.
|
virtual |
Definition at line 65 of file DCPSInfo_i.cpp.
void TAO_DDS_DCPSInfo_i::add | ( | Update::Updater * | updater | ) |
Add an additional Updater interface.
Definition at line 2403 of file DCPSInfo_i.cpp.
References Update::Manager::add(), and um_.
|
virtual |
Definition at line 1010 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domain(), OpenDDS::DCPS::AddDomainStatus::federated, federation_, OpenDDS::DCPS::RcHandle< T >::get(), DCPS_IR_Domain::get_next_participant_id(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::AddDomainStatus::id, LM_DEBUG, lock_, TAO_DDS_DCPSFederationId::overridden(), OpenDDS::DCPS::RepoIdConverter::participantId(), DCPS_IR_Domain::participants(), TheServiceParticipant, um_, and value.
Referenced by Update::Manager::add(), OpenDDS::Federator::ManagerImpl::processCreate(), and receive_image().
bool TAO_DDS_DCPSInfo_i::add_domain_participant | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | participantId, | ||
const DDS::DomainParticipantQos & | qos | ||
) |
Add a previously existing participant to the repository.
domainId | the Domain in which the Participant is contained. |
participantId | the GUID Id value to use for the Participant. |
qos | the QoS value of the Participant. |
Adds a Participant to the repository using a specified Participant GUID Id value. If the ParticipantId indicates that this Participant was created by within this repository (the federation Id is the current repositories federation Id), this method will ensure that any subsequent calls to add a Publication and obtain a newly generated Id value will return an Id value greater than the Id value of the current one.
Definition at line 1105 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domain(), federation_, OpenDDS::DCPS::RepoIdConverter::federationId(), OpenDDS::DCPS::RcHandle< T >::in(), LM_DEBUG, LM_ERROR, LM_WARNING, lock_, DCPS_IR_Domain::participant(), OpenDDS::DCPS::RepoIdConverter::participantId(), DCPS_IR_Domain::participants(), TheServiceParticipant, and um_.
|
virtual |
Definition at line 374 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), DCPS_IR_Participant::add_publication(), DCPS_IR_Topic::add_publication_reference(), Update::Manager::create(), Update::DataWriter, OpenDDS::DCPS::DCPS_debug_level, dispatchingOrb_, domains_, OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), DCPS_IR_Participant::get_next_publication_id(), OpenDDS::DCPS::GUID_UNKNOWN, TAO::String_var< charT >::in(), CORBA::is_nil(), DCPS_IR_Participant::isBitPublisher(), LM_DEBUG, LM_WARNING, lock_, OpenDDS::DCPS::move(), orb_, DCPS_IR_Participant::remove_publication(), OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL::transportContextDefault, and um_.
Referenced by Update::Manager::add(), OpenDDS::Federator::ManagerImpl::processCreate(), OpenDDS::Federator::ManagerImpl::processDeferred(), and receive_image().
bool TAO_DDS_DCPSInfo_i::add_publication | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | participantId, | ||
const OpenDDS::DCPS::GUID_t & | topicId, | ||
const OpenDDS::DCPS::GUID_t & | pubId, | ||
const char * | pub_str, | ||
const DDS::DataWriterQos & | qos, | ||
const OpenDDS::DCPS::TransportLocatorSeq & | transInfo, | ||
ACE_CDR::ULong | transportContext, | ||
const DDS::PublisherQos & | publisherQos, | ||
const DDS::OctetSeq & | serializedTypeInfo, | ||
bool | associate = false |
||
) |
Add a previously existing publication to the repository.
domainId | the Domain in which the Publication is contained. |
participantId | the Participant in which the Publication is contained. |
topicId | the Topic of the Publication. |
pubId | the GUID Id value to use for the Publication. |
pub_str | stringified publication callback to DataWriter. |
qos | the QoS value of the DataWriter. |
transInfo | the transport information for the Publication. |
publisherQos | the QoS value of the Publisher. |
associate | indicate whether to create new associations. |
Adds a Publication to the repository using a specified Publication GUID Id value. If the PublicationId indicates that this Publication was created by within this repository (the federation Id is the current repositories federation Id), this method will ensure that any subsequent calls to add a Publication and obtain a newly generated Id value will return an Id value greater than the Id value of the current one.
: Check if this is already stored. If so, just clear the callback IOR.
Definition at line 490 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), DCPS_IR_Participant::add_publication(), DCPS_IR_Topic::add_publication_reference(), OpenDDS::DCPS::DCPS_debug_level, dispatchingOrb_, domains_, OpenDDS::DCPS::GuidConverter::entityKey(), federation_, OpenDDS::DCPS::RepoIdConverter::federationId(), TAO_DDS_DCPSFederationId::id(), TAO_Pseudo_Var_T< Object >::in(), CORBA::is_nil(), DCPS_IR_Participant::last_publication_key(), LM_ERROR, LM_WARNING, lock_, OpenDDS::DCPS::move(), orb_, and DCPS_IR_Participant::remove_publication().
|
virtual |
Definition at line 681 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), DCPS_IR_Participant::add_subscription(), DCPS_IR_Topic::add_subscription_reference(), Update::Manager::create(), Update::DataReader, OpenDDS::DCPS::DCPS_debug_level, dispatchingOrb_, domains_, OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), DCPS_IR_Participant::get_next_subscription_id(), OpenDDS::DCPS::GUID_UNKNOWN, TAO::String_var< charT >::in(), TAO_Pseudo_Var_T< Object >::in(), CORBA::is_nil(), DCPS_IR_Participant::isBitPublisher(), LM_DEBUG, LM_ERROR, LM_WARNING, lock_, OpenDDS::DCPS::move(), orb_, DCPS_IR_Domain::participant(), DCPS_IR_Domain::remove_dead_participants(), DCPS_IR_Participant::remove_subscription(), OpenDDS::DCPS::unique_ptr< T, Deleter >::reset(), OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL::transportContextDefault, and um_.
Referenced by Update::Manager::add(), OpenDDS::Federator::ManagerImpl::processCreate(), OpenDDS::Federator::ManagerImpl::processDeferred(), and receive_image().
bool TAO_DDS_DCPSInfo_i::add_subscription | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | participantId, | ||
const OpenDDS::DCPS::GUID_t & | topicId, | ||
const OpenDDS::DCPS::GUID_t & | subId, | ||
const char * | sub_str, | ||
const DDS::DataReaderQos & | qos, | ||
const OpenDDS::DCPS::TransportLocatorSeq & | transInfo, | ||
ACE_CDR::ULong | transportContext, | ||
const DDS::SubscriberQos & | subscriberQos, | ||
const char * | filterClassName, | ||
const char * | filterExpression, | ||
const DDS::StringSeq & | exprParams, | ||
const DDS::OctetSeq & | serializedTypeInfo, | ||
bool | associate = false |
||
) |
Add a previously existing subscription to the repository.
domainId | the Domain in which the Subscription is contained. |
participantId | the Participant in which the Subscription is contained. |
topicId | the Topic of the Subscription. |
subId | the GUID Id value to use for the Subscription. |
sub_str | stringified publication callback to DataReader. |
qos | the QoS value of the DataReader. |
transInfo | the transport information for the Subscription. |
subscriberQos | the QoS value of the Subscriber. |
associate | indicate whether to create new associations. |
Adds a Subscription to the repository using a specified Subscription GUID Id value. If the SubscriptionId indicates that this Subscription was created by within this repository (the federation Id is the current repositories federation Id), this method will ensure that any subsequent calls to add a Publication and obtain a newly generated Id value will return an Id value greater than the Id value of the current one.
Definition at line 813 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), DCPS_IR_Participant::add_subscription(), DCPS_IR_Topic::add_subscription_reference(), OpenDDS::DCPS::DCPS_debug_level, dispatchingOrb_, domains_, OpenDDS::DCPS::GuidConverter::entityKey(), federation_, OpenDDS::DCPS::RepoIdConverter::federationId(), TAO_DDS_DCPSFederationId::id(), TAO_Pseudo_Var_T< Object >::in(), CORBA::is_nil(), DCPS_IR_Participant::last_subscription_key(), LM_ERROR, LM_WARNING, lock_, OpenDDS::DCPS::move(), orb_, and DCPS_IR_Participant::remove_subscription().
bool TAO_DDS_DCPSInfo_i::add_topic | ( | const OpenDDS::DCPS::GUID_t & | topicId, |
DDS::DomainId_t | domainId, | ||
const OpenDDS::DCPS::GUID_t & | participantId, | ||
const char * | topicName, | ||
const char * | dataTypeName, | ||
const DDS::TopicQos & | qos | ||
) |
Add a previously existing topic to the repository.
topicId | the Topic Entity GUID Id to use. |
domainId | the Domain in which the Topic is contained. |
participantId | the Participant in which the Topic is contained. |
topicName | the name of the Topic. |
dataTypeName | the name of the data type. |
qos | the QoS value to use for the Topic. |
Adds a Topic Entity to the repository using a specified TopicId value. If the TopicId indicates that this Topic was created by within this repository (the federation Id is the current repositories federation Id), this method will ensure that any subsequent calls to add a Topic and obtain a newly generated Id value will return an Id value greater than the Id value of the current one.
Definition at line 232 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::CREATED, OpenDDS::DCPS::DCPS_debug_level, domains_, OpenDDS::DCPS::GuidConverter::entityKey(), federation_, OpenDDS::DCPS::RepoIdConverter::federationId(), TAO_DDS_DCPSFederationId::id(), DCPS_IR_Participant::last_topic_key(), LM_WARNING, and lock_.
Referenced by Update::Manager::add(), OpenDDS::Federator::ManagerImpl::processCreate(), OpenDDS::Federator::ManagerImpl::processDeferred(), and receive_image().
|
virtual |
Definition at line 180 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), Update::Manager::create(), OpenDDS::DCPS::DCPS_debug_level, domains_, OpenDDS::DCPS::INTERNAL_ERROR, DCPS_IR_Participant::isBitPublisher(), LM_DEBUG, lock_, and um_.
|
virtual |
Definition at line 124 of file DCPSInfo_i.cpp.
References ACE_GUARD_RETURN, domains_, lock_, and DCPS_IR_Participant::takeOwnership().
bool TAO_DDS_DCPSInfo_i::changeOwnership | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | participantId, | ||
long | sender, | ||
long | owner | ||
) |
assert new ownership for a participant and its contained entities.
domainId | the domain in which the participant resides. |
participantId | the participant to be owned. |
sender | the repository sending the update data. |
owner | the repository which is to make callbacks for entities within the participant. |
This establishes owner
as the new owner of the participant. Ownership consists of calling back to the reader and writer remote interfaces when associations are established and removed from a publication or subscription. Owner may be the special value of OWNER_NONE to indicate that the previous owner is no longer available to make callbacks and the application has not indicated which repository is to replace it in this capacity.
The sender
of the update is included so that the participant can check that transitions to OWNER_NONE are only honored when initiated by the current owner of the participant.
A return value of false
indicates that the ownership was specified for a domain or participant which could not be found.
Definition at line 152 of file DCPSInfo_i.cpp.
References ACE_GUARD_RETURN, DCPS_IR_Participant::changeOwner(), domains_, and lock_.
Referenced by OpenDDS::Federator::ManagerImpl::processCreate(), OpenDDS::Federator::ManagerImpl::processDeferred(), OpenDDS::Federator::ManagerImpl::processDelete(), and OpenDDS::Federator::ManagerImpl::processUpdateQos1().
void TAO_DDS_DCPSInfo_i::cleanup_all_built_in_topics | ( | ) |
Definition at line 2497 of file DCPSInfo_i.cpp.
References ACE_GUARD, copy(), DCPS_IR_Domain_Map, domains_, in_cleanup_all_built_in_topics_, lock_, and OPENDDS_END_VERSIONED_NAMESPACE_DECL.
Referenced by InfoRepo::finalize(), and InfoRepo::handle_exception().
|
virtual |
Definition at line 1330 of file DCPSInfo_i.cpp.
References ACE_GUARD, domains_, lock_, DCPS_IR_Participant::publications(), and DCPS_IR_Participant::subscriptions().
|
virtual |
Definition at line 1406 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Publication::disassociate_subscription(), domains_, DCPS_IR_Participant::find_publication_reference(), LM_ERROR, LM_INFO, and lock_.
|
virtual |
Definition at line 1364 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, DCPS_IR_Subscription::disassociate_publication(), domains_, DCPS_IR_Participant::find_subscription_reference(), LM_ERROR, LM_INFO, and lock_.
DCPS_IR_Domain * TAO_DDS_DCPSInfo_i::domain | ( | DDS::DomainId_t | domain | ) |
Convert a domain Id into a reference to a DCPS_IR_Domain object.
Definition at line 2129 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), OpenDDS::DCPS::Service_Participant::ANY_DOMAIN, OpenDDS::DCPS::DCPS_debug_level, domains_, federation_, OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), DCPS_IR_Domain::init_built_in_topics(), LM_DEBUG, LM_ERROR, OpenDDS::DCPS::move(), TAO_DDS_DCPSFederationId::overridden(), participantIdGenerator_, reincarnate_, TheServiceParticipant, and DCPS_IR_Domain::useBIT().
Referenced by add_domain_participant(), receive_image(), remove_by_owner(), and update_subscription_params().
const DCPS_IR_Domain_Map & TAO_DDS_DCPSInfo_i::domains | ( | ) | const |
Expose a readable reference of the domain map.
Definition at line 2473 of file DCPSInfo_i.cpp.
References domains_.
Referenced by OpenDDS::Federator::ManagerImpl::pushState().
|
virtual |
Dump the Repos state to string.
Definition at line 2480 of file DCPSInfo_i.cpp.
References domains_, and CORBA::string_dup().
void TAO_DDS_DCPSInfo_i::finalize | ( | void | ) |
Cleanup state for shutdown.
Definition at line 2455 of file DCPSInfo_i.cpp.
References ACE_Reactor::cancel_timer(), DCPS_IR_Domain_Map, dispatch_check_timer_id_, orb_, ACE_Event_Handler::reactor(), and reassociate_timer_id_.
Referenced by InfoRepo::finalize(), and InfoRepo::handle_exception().
|
virtual |
Definition at line 291 of file DCPSInfo_i.cpp.
References ACE_GUARD_RETURN, domains_, OpenDDS::DCPS::FOUND, DCPS_IR_Topic_Description::get_dataTypeName(), DCPS_IR_Topic::get_id(), DCPS_IR_Topic::get_topic_description(), DCPS_IR_Topic::get_topic_qos(), OpenDDS::DCPS::INTERNAL_ERROR, lock_, OpenDDS::DCPS::NOT_FOUND, and Update::TopicQos.
|
virtual |
Reimplemented from ACE_Event_Handler.
Definition at line 70 of file DCPSInfo_i.cpp.
References ACE_GUARD_RETURN, dispatchingOrb_, domains_, and lock_.
|
virtual |
Definition at line 1552 of file DCPSInfo_i.cpp.
References ACE_GUARD, domains_, DCPS_IR_Participant::ignore_participant(), and lock_.
|
virtual |
Definition at line 1633 of file DCPSInfo_i.cpp.
References ACE_GUARD, domains_, DCPS_IR_Participant::ignore_publication(), and lock_.
|
virtual |
Definition at line 1606 of file DCPSInfo_i.cpp.
References ACE_GUARD, domains_, DCPS_IR_Participant::ignore_subscription(), and lock_.
|
virtual |
Definition at line 1579 of file DCPSInfo_i.cpp.
References ACE_GUARD, domains_, DCPS_IR_Participant::ignore_topic(), and lock_.
bool TAO_DDS_DCPSInfo_i::init_dispatchChecking | ( | const ACE_Time_Value & | delay | ) |
Definition at line 2444 of file DCPSInfo_i.cpp.
References dispatch_check_timer_id_, orb_, ACE_Event_Handler::reactor(), and ACE_Reactor::schedule_timer().
bool TAO_DDS_DCPSInfo_i::init_persistence | ( | ) |
Definition at line 2411 of file DCPSInfo_i.cpp.
References ACE_ERROR_RETURN, ACE_TEXT(), Update::Manager::add(), ACE_Dynamic_Service< class >::instance(), LM_ERROR, reincarnate_, Update::Manager::requestImage(), and um_.
bool TAO_DDS_DCPSInfo_i::init_reassociation | ( | const ACE_Time_Value & | delay | ) |
Definition at line 2433 of file DCPSInfo_i.cpp.
References orb_, ACE_Event_Handler::reactor(), reassociate_timer_id_, and ACE_Reactor::schedule_timer().
int TAO_DDS_DCPSInfo_i::init_transport | ( | int | listen_address_given, |
const char * | listen_str | ||
) |
Initialize the transport for the Built-In Topics Returns 0 (zero) if succeeds
Definition at line 2182 of file DCPSInfo_i.cpp.
References ACE_TEXT(), OpenDDS::DCPS::TransportRegistry::create_config(), OpenDDS::DCPS::TransportRegistry::create_inst(), ACE_Service_Config::current(), OpenDDS::DCPS::TransportInst::datalink_release_delay_, OpenDDS::DCPS::TransportRegistry::DEFAULT_INST_PREFIX, OpenDDS::DCPS::dynamic_rchandle_cast(), find(), OpenDDS::DCPS::TransportRegistry::instance(), OpenDDS::DCPS::TransportConfig::instances_, and ACE_Service_Config::process_directive().
CORBA::ORB_ptr TAO_DDS_DCPSInfo_i::orb | ( | void | ) |
Expose the ORB.
Definition at line 119 of file DCPSInfo_i.cpp.
References CORBA::ORB::_duplicate(), TAO_Pseudo_Var_T< ORB >::in(), and orb_.
Referenced by OpenDDS::Federator::ManagerImpl::pushState().
bool TAO_DDS_DCPSInfo_i::receive_image | ( | const Update::UImage & | image | ) |
Definition at line 2239 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_TEXT(), Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::actorId, Update::ImageData< T, P, A, W >::actors, add_domain_participant(), add_publication(), add_subscription(), add_topic(), Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::callback, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::contentSubscriptionProfile, Update::TopicStrt< Q, S >::dataType, OpenDDS::DCPS::DCPS_debug_level, domain(), Update::TopicStrt< Q, S >::domainId, Update::ParticipantStrt< Q >::domainId, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::domainId, domains_, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::drdwQos, OpenDDS::DCPS::RepoIdGenerator::last(), Update::ImageData< T, P, A, W >::lastPartId, LM_DEBUG, LM_ERROR, LM_WARNING, Update::TopicStrt< Q, S >::name, Update::TopicStrt< Q, S >::participantId, Update::ParticipantStrt< Q >::participantId, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::participantId, participantIdGenerator_, Update::ParticipantStrt< Q >::participantQos, Update::ImageData< T, P, A, W >::participants, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::pubsubQos, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::serializedTypeInfo, TheServiceParticipant, Update::TopicStrt< Q, S >::topicId, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::topicId, Update::TopicStrt< Q, S >::topicQos, Update::ImageData< T, P, A, W >::topics, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::transportContext, Update::ActorStrt< PSQ, RWQ, C, T, CSP, STI >::transportInterfaceInfo, and Update::ImageData< T, P, A, W >::wActors.
Referenced by Update::Manager::pushImage().
bool TAO_DDS_DCPSInfo_i::remove_by_owner | ( | DDS::DomainId_t | domain, |
long | owner | ||
) |
Definition at line 1206 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domain(), domains_, LM_DEBUG, lock_, DCPS_IR_Participant::publications(), remove_domain_participant(), DCPS_IR_Participant::remove_publication(), DCPS_IR_Participant::remove_subscription(), DCPS_IR_Participant::remove_topic_reference(), DCPS_IR_Participant::subscriptions(), and DCPS_IR_Participant::topics().
Referenced by OpenDDS::Federator::ManagerImpl::leave_federation().
|
virtual |
Definition at line 1447 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), TAO_DDS_DCPSInfo_i::BIT_Cleanup_Handler::cv_, OpenDDS::DCPS::CvStatus_NoTimeout, OpenDDS::DCPS::DCPS_debug_level, Update::Manager::destroy(), domains_, TAO_DDS_DCPSInfo_i::BIT_Cleanup_Handler::done_, ACE_Event_Handler_var::handler(), in_cleanup_all_built_in_topics_, LM_DEBUG, LM_ERROR, lock_, Update::Participant, TheServiceParticipant, um_, and OpenDDS::DCPS::ConditionVariable< Mutex >::wait().
Referenced by OpenDDS::Federator::ManagerImpl::processDelete(), and remove_by_owner().
|
virtual |
Definition at line 630 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD, ACE_TEXT(), Update::Actor, Update::DataWriter, OpenDDS::DCPS::DCPS_debug_level, Update::Manager::destroy(), domains_, in_cleanup_all_built_in_topics_, DCPS_IR_Participant::isBitPublisher(), DCPS_IR_Participant::isOwner(), LM_DEBUG, lock_, DCPS_IR_Participant::remove_publication(), and um_.
Referenced by OpenDDS::Federator::ManagerImpl::processDelete().
|
virtual |
Definition at line 962 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD, ACE_TEXT(), Update::Actor, Update::DataReader, OpenDDS::DCPS::DCPS_debug_level, Update::Manager::destroy(), domains_, in_cleanup_all_built_in_topics_, DCPS_IR_Participant::isBitPublisher(), DCPS_IR_Participant::isOwner(), LM_DEBUG, lock_, DCPS_IR_Participant::remove_subscription(), and um_.
Referenced by OpenDDS::Federator::ManagerImpl::processDelete().
|
virtual |
Definition at line 325 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, Update::Manager::destroy(), domains_, DCPS_IR_Participant::find_topic_reference(), OpenDDS::DCPS::INTERNAL_ERROR, DCPS_IR_Participant::isBitPublisher(), DCPS_IR_Participant::isOwner(), LM_DEBUG, lock_, Update::Topic, and um_.
Referenced by OpenDDS::Federator::ManagerImpl::processDelete().
|
virtual |
Cause the entire repository to exit.
Definition at line 113 of file DCPSInfo_i.cpp.
References ShutdownInterface::shutdown(), and shutdown_.
Referenced by OpenDDS::Federator::ManagerImpl::leave_and_shutdown(), and OpenDDS::Federator::ManagerImpl::shutdown().
|
virtual |
Definition at line 2084 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::isBitPublisher(), DCPS_IR_Participant::isOwner(), LM_DEBUG, lock_, DCPS_IR_Participant::set_qos(), um_, and Update::Manager::update().
Referenced by OpenDDS::Federator::ManagerImpl::processUpdateQos1().
|
virtual |
Definition at line 1660 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), Update::DataWriterQos, OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_publication_reference(), DCPS_IR_Participant::isBitPublisher(), LM_DEBUG, LM_ERROR, LM_INFO, lock_, Update::NoQos, Update::PublisherQos, DCPS_IR_Publication::set_qos(), um_, and Update::Manager::update().
Referenced by OpenDDS::Federator::ManagerImpl::processUpdateQos1(), and OpenDDS::Federator::ManagerImpl::processUpdateQos2().
void TAO_DDS_DCPSInfo_i::update_publication_qos | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | partId, | ||
const OpenDDS::DCPS::GUID_t & | dwId, | ||
const DDS::DataWriterQos & | qos | ||
) |
Entry for federation updates of DataWriterQos values.
Definition at line 1737 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_publication_reference(), LM_ERROR, LM_INFO, lock_, and DCPS_IR_Publication::set_qos().
void TAO_DDS_DCPSInfo_i::update_publication_qos | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | partId, | ||
const OpenDDS::DCPS::GUID_t & | dwId, | ||
const DDS::PublisherQos & | qos | ||
) |
Entry for federation updates of PublisherQos values.
Definition at line 1781 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_publication_reference(), LM_ERROR, LM_INFO, lock_, and DCPS_IR_Publication::set_qos().
CORBA::Boolean TAO_DDS_DCPSInfo_i::update_subscription_params | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | participantId, | ||
const OpenDDS::DCPS::GUID_t & | subscriptionId, | ||
const DDS::StringSeq & | params | ||
) |
Definition at line 1989 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domain(), domains_, DCPS_IR_Participant::find_subscription_reference(), DCPS_IR_Participant::isBitPublisher(), LM_ERROR, LM_INFO, lock_, um_, Update::Manager::update(), and DCPS_IR_Subscription::update_expr_params().
Referenced by OpenDDS::Federator::ManagerImpl::processUpdateFilterExpressionParams().
|
virtual |
Definition at line 1824 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD_RETURN, ACE_TEXT(), Update::DataReaderQos, OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_subscription_reference(), DCPS_IR_Participant::isBitPublisher(), LM_DEBUG, LM_ERROR, LM_INFO, lock_, Update::NoQos, DCPS_IR_Subscription::set_qos(), Update::SubscriberQos, um_, and Update::Manager::update().
Referenced by OpenDDS::Federator::ManagerImpl::processUpdateQos1(), and OpenDDS::Federator::ManagerImpl::processUpdateQos2().
void TAO_DDS_DCPSInfo_i::update_subscription_qos | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | partId, | ||
const OpenDDS::DCPS::GUID_t & | drId, | ||
const DDS::DataReaderQos & | qos | ||
) |
Entry for federation updates of DataReaderQos values.
Definition at line 1901 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_subscription_reference(), LM_ERROR, LM_INFO, lock_, and DCPS_IR_Subscription::set_qos().
void TAO_DDS_DCPSInfo_i::update_subscription_qos | ( | DDS::DomainId_t | domainId, |
const OpenDDS::DCPS::GUID_t & | partId, | ||
const OpenDDS::DCPS::GUID_t & | drId, | ||
const DDS::SubscriberQos & | qos | ||
) |
Entry for federation updates of SubscriberQos values.
Definition at line 1945 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_subscription_reference(), LM_ERROR, LM_INFO, lock_, and DCPS_IR_Subscription::set_qos().
|
virtual |
Definition at line 2033 of file DCPSInfo_i.cpp.
References ACE_DEBUG, ACE_GUARD_RETURN, ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, domains_, DCPS_IR_Participant::find_topic_reference(), DCPS_IR_Participant::isBitPublisher(), DCPS_IR_Participant::isOwner(), LM_DEBUG, lock_, DCPS_IR_Topic::set_topic_qos(), um_, and Update::Manager::update().
Referenced by OpenDDS::Federator::ManagerImpl::processUpdateQos1().
|
private |
Definition at line 430 of file DCPSInfo_i.h.
Referenced by finalize(), and init_dispatchChecking().
|
private |
Definition at line 416 of file DCPSInfo_i.h.
Referenced by add_publication(), add_subscription(), handle_timeout(), and TAO_DDS_DCPSInfo_i().
|
private |
Definition at line 414 of file DCPSInfo_i.h.
Referenced by add_publication(), add_subscription(), add_topic(), assert_topic(), attach_participant(), changeOwnership(), cleanup_all_built_in_topics(), disassociate_participant(), disassociate_publication(), disassociate_subscription(), domain(), domains(), dump_to_string(), find_topic(), handle_timeout(), ignore_domain_participant(), ignore_publication(), ignore_subscription(), ignore_topic(), receive_image(), remove_by_owner(), remove_domain_participant(), remove_publication(), remove_subscription(), remove_topic(), update_domain_participant_qos(), update_publication_qos(), update_subscription_params(), update_subscription_qos(), and update_topic_qos().
|
private |
Definition at line 418 of file DCPSInfo_i.h.
Referenced by add_domain_participant(), add_publication(), add_subscription(), add_topic(), and domain().
|
private |
Definition at line 450 of file DCPSInfo_i.h.
Referenced by cleanup_all_built_in_topics(), remove_domain_participant(), remove_publication(), and remove_subscription().
|
private |
Definition at line 427 of file DCPSInfo_i.h.
Referenced by add_domain_participant(), add_publication(), add_subscription(), add_topic(), assert_topic(), attach_participant(), changeOwnership(), cleanup_all_built_in_topics(), disassociate_participant(), disassociate_publication(), disassociate_subscription(), find_topic(), handle_timeout(), ignore_domain_participant(), ignore_publication(), ignore_subscription(), ignore_topic(), remove_by_owner(), remove_domain_participant(), remove_publication(), remove_subscription(), remove_topic(), update_domain_participant_qos(), update_publication_qos(), update_subscription_params(), update_subscription_qos(), and update_topic_qos().
|
private |
Definition at line 415 of file DCPSInfo_i.h.
Referenced by add_publication(), add_subscription(), finalize(), init_dispatchChecking(), init_reassociation(), and orb().
|
private |
Definition at line 419 of file DCPSInfo_i.h.
Referenced by domain(), and receive_image().
|
private |
Definition at line 429 of file DCPSInfo_i.h.
Referenced by finalize(), and init_reassociation().
|
private |
Definition at line 422 of file DCPSInfo_i.h.
Referenced by domain(), and init_persistence().
|
private |
Interface to effect shutdown of the process.
Definition at line 425 of file DCPSInfo_i.h.
Referenced by shutdown().
|
private |
Definition at line 421 of file DCPSInfo_i.h.
Referenced by add(), add_domain_participant(), add_publication(), add_subscription(), assert_topic(), init_persistence(), remove_domain_participant(), remove_publication(), remove_subscription(), remove_topic(), update_domain_participant_qos(), update_publication_qos(), update_subscription_params(), update_subscription_qos(), and update_topic_qos().