servant_activator.cpp
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C++ 代码 · 共 51 行
CPP
51 行
// Servant_Activator.cpp,v 1.7 2002/08/22 18:08:04 irfan Exp
#include "Servant_Activator.h"
#include "test_i.h"
ACE_RCSID(Forwarding, Servant_Activator, "Servant_Activator.cpp,v 1.7 2002/08/22 18:08:04 irfan Exp")
ServantActivator::ServantActivator (CORBA::ORB_ptr orb,
CORBA::Object_ptr forward_to)
: orb_ (CORBA::ORB::_duplicate (orb)),
forward_to_ (CORBA::Object::_duplicate (forward_to))
{
}
PortableServer::Servant
ServantActivator::incarnate (const PortableServer::ObjectId &,
PortableServer::POA_ptr
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException,
PortableServer::ForwardRequest))
{
this->orb_->shutdown (0
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
// Throw forward exception
ACE_THROW_RETURN (
PortableServer::ForwardRequest (
this->forward_to_.in ()),
0);
}
void
ServantActivator::etherealize (const PortableServer::ObjectId &,
PortableServer::POA_ptr,
PortableServer::Servant servant,
CORBA::Boolean,
CORBA::Boolean
ACE_ENV_ARG_DECL_NOT_USED)
ACE_THROW_SPEC ((CORBA::SystemException))
{
delete servant;
}
void
ServantActivator::forward_requests (ACE_ENV_SINGLE_ARG_DECL)
{
if (CORBA::is_nil (this->forward_to_.in ()))
ACE_THROW (test::Cannot_Forward ());
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?