messagings.cpp
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C++ 代码 · 共 599 行 · 第 1/2 页
CPP
599 行
// -*- C++ -*-
//
// MessagingS.cpp,v 1.13 2003/12/28 16:12:07 jwillemsen Exp
// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
// TAO and the TAO IDL Compiler have been developed by:
// Center for Distributed Object Computing
// Washington University
// St. Louis, MO
// USA
// http://www.cs.wustl.edu/~schmidt/doc-center.html
// and
// Distributed Object Computing Laboratory
// University of California at Irvine
// Irvine, CA
// USA
// http://doc.ece.uci.edu/
// and
// Institute for Software Integrated Systems
// Vanderbilt University
// Nashville, TN
// USA
// http://www.isis.vanderbilt.edu/
//
// Information about TAO is available at:
// http://www.cs.wustl.edu/~schmidt/TAO.html
// TAO_IDL - Generated from
// be/be_codegen.cpp:610
#ifndef _TAO_IDL_ORIG_MESSAGINGS_CPP_
#define _TAO_IDL_ORIG_MESSAGINGS_CPP_
#include "MessagingS.h"
#include "tao/PortableServer/Object_Adapter.h"
#include "tao/PortableServer/Operation_Table.h"
#include "tao/TAO_Server_Request.h"
#include "tao/ORB_Core.h"
#include "tao/Profile.h"
#include "tao/Stub.h"
#include "tao/IFR_Client_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Typecode.h"
#include "tao/DynamicC.h"
#include "tao/PortableInterceptor.h"
#if TAO_HAS_INTERCEPTORS == 1
#include "tao/RequestInfo_Util.h"
#include "tao/PICurrent.h"
#include "tao/PortableServer/ServerRequestInfo.h"
#include "tao/PortableServer/ServerInterceptorAdapter.h"
#endif /* TAO_HAS_INTERCEPTORS == 1 */
#include "ace/Dynamic_Service.h"
#include "ace/config-all.h"
#if defined (__BORLANDC__)
#pragma option -w-rvl -w-rch -w-ccc -w-aus
#endif /* __BORLANDC__ */
#if !defined (__ACE_INLINE__)
#include "MessagingS.i"
#endif /* !defined INLINE */
// TAO_IDL - Generated from
// be/be_visitor_arg_traits.cpp:60
// Arg traits specializations.
namespace TAO
{
}
// TAO_IDL - Generated from
// be/be_interface.cpp:1445
class TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable
{
private:
unsigned int hash (const char *str, unsigned int len);
public:
const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};
/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/main_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable -N lookup */
unsigned int
TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
static const unsigned char asso_values[] =
{
#if defined (ACE_MVS)
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 0,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 0,
14, 14, 14, 1, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 0, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14,
#else
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 0, 14, 0, 14, 14,
14, 1, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 0, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14,
#endif /* ACE_MVS */
};
return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}
const class TAO_operation_db_entry *
TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
enum
{
TOTAL_KEYWORDS = 4,
MIN_WORD_LENGTH = 5,
MAX_WORD_LENGTH = 13,
MIN_HASH_VALUE = 5,
MAX_HASH_VALUE = 13,
HASH_VALUE_RANGE = 9,
DUPLICATES = 0,
WORDLIST_SIZE = 9
};
static const class TAO_operation_db_entry wordlist[] =
{
{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
{"_is_a", &POA_Messaging::ReplyHandler::_is_a_skel, 0, 0},
{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
{"_component", &POA_Messaging::ReplyHandler::_component_skel, 0, 0},
{"_interface", &POA_Messaging::ReplyHandler::_interface_skel, 0, 0},
{"",0,0,0},
{"_non_existent", &POA_Messaging::ReplyHandler::_non_existent_skel, 0, 0},
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
{
unsigned int key = hash (str, len);
if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
{
const char *s = wordlist[key].opname_;
if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
return &wordlist[key];
}
}
return 0;
}
static TAO_Messaging_ReplyHandler_Perfect_Hash_OpTable tao_Messaging_ReplyHandler_optable;
// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:52
#if (TAO_HAS_INTERCEPTORS == 1)
#endif /* TAO_HAS_INTERCEPTORS */
///////////////////////////////////////////////////////////////////////
// Strategized Proxy Broker Implementation
//
// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40
// Factory function Implementation.
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker *
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::the_TAO_ReplyHandler_Strategized_Proxy_Broker (void)
{
static POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker strategized_proxy_broker;
return &strategized_proxy_broker;
}
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::_TAO_ReplyHandler_Strategized_Proxy_Broker (void)
{
}
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::~_TAO_ReplyHandler_Strategized_Proxy_Broker (void)
{
}
TAO::Collocation_Strategy
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::get_strategy (
CORBA::Object_ptr obj
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException))
{
TAO::Collocation_Strategy strategy =
TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
return strategy;
}
void
POA_Messaging::_TAO_ReplyHandler_Strategized_Proxy_Broker::dispatch (
CORBA::Object_ptr obj,
CORBA::Object_out forward_obj,
TAO::Argument ** args,
int num_args,
const char * op,
size_t op_len,
TAO::Collocation_Strategy strategy
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::Exception))
{
TAO_Object_Adapter::Servant_Upcall servant_upcall (
obj->_stubobj ()->servant_orb_var ()->orb_core ()
);
if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
{
servant_upcall.prepare_for_upcall (
obj->_stubobj ()->object_key (),
op,
forward_obj
ACE_ENV_ARG_PARAMETER
);
ACE_CHECK;
servant_upcall.pre_invoke_collocated_request (
ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
}
TAO_Collocated_Skeleton collocated_skel;
if (servant_upcall.servant ()->_find (op,
collocated_skel,
strategy,
op_len) == -1)
ACE_THROW (CORBA::BAD_OPERATION ());
ACE_TRY
{
collocated_skel (
servant_upcall.servant (),
args,
num_args
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
#if (TAO_HAS_MINIMUM_CORBA == 0)
ACE_CATCH (PortableServer::ForwardRequest, forward_request)
{
forward_obj =
CORBA::Object::_duplicate (forward_request.forward_reference.in ());
return;
}
#else
ACE_CATCHANY
{
ACE_UNUSED_ARG (forward_obj);
ACE_RE_THROW;
}
#endif /* TAO_HAS_MINIMUM_CORBA */
ACE_ENDTRY;
ACE_CHECK;
}
//
// End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////
// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:600
TAO::Collocation_Proxy_Broker *
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?