summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhuangming <huangminghuang@users.noreply.github.com>2003-12-07 02:34:53 +0000
committerhuangming <huangminghuang@users.noreply.github.com>2003-12-07 02:34:53 +0000
commit8797daa9c5341ccad747c5953c81636ad8a474f6 (patch)
treee7fc8cdf4f020b1f23e188dc06c2c88d88ab36d0
parent622bde0c31bd2224f2b0f9f805edd2e23b8ff910 (diff)
downloadATCD-8797daa9c5341ccad747c5953c81636ad8a474f6.tar.gz
*** empty log message ***
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp7
-rw-r--r--TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp127
2 files changed, 72 insertions, 62 deletions
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
index 4291efacc17..267e41a61a4 100644
--- a/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/EventChannel/GroupInfoPublisher.cpp
@@ -109,7 +109,10 @@ GroupInfoPublisherBase::setup_info(const FTRT::ManagerInfoList & info_list,
else {
result->successor = info_->successor;
}
-
+ {
+ CORBA::PolicyList_var pols;
+ result->successor->_validate_connection (pols.out ());
+ }
// update backups
result->backups.length(successors_length);
for (i = 0; i < successors_length; ++i) {
@@ -117,6 +120,8 @@ GroupInfoPublisherBase::setup_info(const FTRT::ManagerInfoList & info_list,
FtRtecEventChannelAdmin::EventChannel::_narrow(
info_list[i+ my_position+1].ior.in()
ACE_ENV_ARG_PARAMETER);
+ CORBA::PolicyList_var pols;
+ result->backups[i]->_validate_connection (pols.out ());
ACE_CHECK;
}
diff --git a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp
index 16daa60e23c..98fd1608b38 100644
--- a/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp
+++ b/TAO/orbsvcs/orbsvcs/FtRtEvent/Utils/FTEC_Gateway.cpp
@@ -138,67 +138,72 @@ FTEC_Gateway::~FTEC_Gateway()
RtecEventChannelAdmin::EventChannel_ptr
FTEC_Gateway::activate(PortableServer::POA_ptr poa ACE_ENV_ARG_DECL)
{
- PortableServer::IdUniquenessPolicy_var id_uniqueness_policy =
- poa->create_id_uniqueness_policy(PortableServer::MULTIPLE_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
-
- PortableServer::LifespanPolicy_var lifespan =
- poa->create_lifespan_policy(PortableServer::PERSISTENT
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
-
- // create a USER_ID IdAssignmentPolicy object
- PortableServer::IdAssignmentPolicy_var assign =
- poa->create_id_assignment_policy(PortableServer::USER_ID
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
-
- CORBA::PolicyList policy_list;
- policy_list.length(3);
-
- policy_list[0] = PortableServer::IdUniquenessPolicy::_duplicate(
- id_uniqueness_policy.in());
- ACE_CHECK_RETURN(0);
- policy_list[1]=
- PortableServer::LifespanPolicy::_duplicate(lifespan.in());
- ACE_CHECK_RETURN(0);
- policy_list[2]=
- PortableServer::IdAssignmentPolicy::_duplicate(assign.in());
- ACE_CHECK_RETURN(0);
-
- PortableServer::POAManager_var mgr = poa->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER);
-
- impl_->poa = poa->create_POA("gateway_poa", mgr.in(), policy_list
- ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
-
- id_uniqueness_policy->destroy();
- lifespan->destroy();
- assign->destroy();
-
- PortableServer::ObjectId oid;
- oid.length(16);
- UUID::create(oid.get_buffer());
-
- RtecEventChannelAdmin::EventChannel_var gateway;
-
- activate_object_with_id(gateway.out(), impl_->poa, this, oid ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
- ++oid[9];
- activate_object_with_id(impl_->consumer_admin.out(),
- impl_->poa,
- &impl_->consumer_admin_servant,
- oid ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
- ++oid[9];
- activate_object_with_id(impl_->supplier_admin.out(),
- impl_->poa,
- &impl_->supplier_admin_servant,
- oid ACE_ENV_ARG_PARAMETER);
- ACE_CHECK_RETURN(0);
-
- return gateway._retn();
+ // preallocation connections
+ CORBA::PolicyList_var pols;
+ impl_->ftec->_validate_connection (pols.out () ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ PortableServer::IdUniquenessPolicy_var id_uniqueness_policy =
+ poa->create_id_uniqueness_policy(PortableServer::MULTIPLE_ID
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ PortableServer::LifespanPolicy_var lifespan =
+ poa->create_lifespan_policy(PortableServer::PERSISTENT
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ // create a USER_ID IdAssignmentPolicy object
+ PortableServer::IdAssignmentPolicy_var assign =
+ poa->create_id_assignment_policy(PortableServer::USER_ID
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ CORBA::PolicyList policy_list;
+ policy_list.length(3);
+
+ policy_list[0] = PortableServer::IdUniquenessPolicy::_duplicate(
+ id_uniqueness_policy.in());
+ ACE_CHECK_RETURN(0);
+ policy_list[1]=
+ PortableServer::LifespanPolicy::_duplicate(lifespan.in());
+ ACE_CHECK_RETURN(0);
+ policy_list[2]=
+ PortableServer::IdAssignmentPolicy::_duplicate(assign.in());
+ ACE_CHECK_RETURN(0);
+
+ PortableServer::POAManager_var mgr = poa->the_POAManager(ACE_ENV_SINGLE_ARG_PARAMETER);
+
+ impl_->poa = poa->create_POA("gateway_poa", mgr.in(), policy_list
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ id_uniqueness_policy->destroy();
+ lifespan->destroy();
+ assign->destroy();
+
+ PortableServer::ObjectId oid;
+ oid.length(16);
+ UUID::create(oid.get_buffer());
+
+ RtecEventChannelAdmin::EventChannel_var gateway;
+
+ activate_object_with_id(gateway.out(), impl_->poa, this, oid ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ ++oid[9];
+ activate_object_with_id(impl_->consumer_admin.out(),
+ impl_->poa,
+ &impl_->consumer_admin_servant,
+ oid ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ ++oid[9];
+ activate_object_with_id(impl_->supplier_admin.out(),
+ impl_->poa,
+ &impl_->supplier_admin_servant,
+ oid ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+
+ return gateway._retn();
}
//= The RtecEventChannelAdmin::EventChannel methods