diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
commit | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (patch) | |
tree | da50d054f9c761c3f6a5923f6979e93306c56d68 /TAO/tao/Pluggable_Messaging_Utils.h | |
parent | 0e555b9150d38e3b3473ba325b56db2642e6352b (diff) | |
download | ATCD-6b846cf03c0bcbd8c276cb0af61a181e5f98eaae.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/Pluggable_Messaging_Utils.h')
-rw-r--r-- | TAO/tao/Pluggable_Messaging_Utils.h | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/TAO/tao/Pluggable_Messaging_Utils.h b/TAO/tao/Pluggable_Messaging_Utils.h deleted file mode 100644 index ea31e8cd8ca..00000000000 --- a/TAO/tao/Pluggable_Messaging_Utils.h +++ /dev/null @@ -1,193 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Pluggable_Messaging_Utils.h - * - * $Id$ - * - * Utility classes for the TAO pluggable messaging framework. - * - * @author Balachandran Natarajan <bala@cs.wustl.edu> - */ -//============================================================================= - - -#ifndef TAO_PLUGGABLE_MESSAGING_UTILS_H -#define TAO_PLUGGABLE_MESSAGING_UTILS_H - -#include /**/ "ace/pre.h" - -#include "tao/IOP_IORC.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -TAO_BEGIN_VERSIONED_NAMESPACE_DECL - -class TAO_Transport; - -/** - * @class TAO_Pluggable_Reply_Params_Base - * - * @brief TAO_Pluggable_Acceptor_Params - * - * This represents a set of data that would be assembled by the - * acceptor to pass to the connector. This base class is used by - * TAO_ServerRequest. The child class TAO_Pluggable_Reply_Params - * is used on the client side, and contains an additional - * TAO_InputCDR member, not needed on the server side. - */ -class TAO_Export TAO_Pluggable_Reply_Params_Base -{ -public: - /// Constructor. - TAO_Pluggable_Reply_Params_Base (void); - - /// The IOP service context list. - IOP::ServiceContextList svc_ctx_; - - /// The request id for which the reply we (connector) has received. - CORBA::ULong request_id_; - - // @@ Bala: this is (again) an GIOPism (to coin a word). Other - // protocol may choose to send different *messages* instead. - // @@ Carlos: I agree. Please see above. - /// The reply status. - CORBA::ULong reply_status_; - - /** - * Since this class no longer contains an NVList, this is the - * way to determine if the request was DSI, so we can use Carlos' - * service context list no-deep-copy optimization. - */ - CORBA::Boolean is_dsi_; - - /// Info required for DSI optimization that pads the outgoing - /// CDR stream according to the alignment of the NVList. - ptrdiff_t dsi_nvlist_align_; - - /** - * Get and Set methods for the service context list that we dont - * own. This is useful for cases where the application objects own - * a service context list and would like to pass on their contents - * without a copy. - */ - IOP::ServiceContextList &service_context_notowned (void); - void service_context_notowned (IOP::ServiceContextList *svc); - - /// A flag that indicates if there is any data is going to get - /// marshalled in the reply - CORBA::Boolean argument_flag_; - -protected: - /// The service context list that we don't own. - IOP::ServiceContextList *service_context_; -}; - -/** - * @class TAO_Pluggable_Reply_Params - * - * @brief TAO_Pluggable_Connector_Params - * - */ -class TAO_Export TAO_Pluggable_Reply_Params - : public TAO_Pluggable_Reply_Params_Base -{ -public: - /// Constructor. - TAO_Pluggable_Reply_Params (TAO_Transport *t); - - /// The stream with the non-demarshaled reply. This stream will be - /// passed up to the stubs to demarshal the parameter values. - TAO_InputCDR *input_cdr_; - - TAO_Transport *transport_; -}; - -// @@ Bala: this is a GIOPism too, there is no such thing as locate -// request in HTTP (the basis for SOAP and XIOP), i don't know about -// HTTP-NG, but i wouldn't be surprised if it had. Furthermore, some -// very influential people (Michi) is arguing against it in the OMG. -// -// @@Carlos: Yes, I also saw some of Michi's ideas. Even if OMG -// decides to remove this, can I point that we may have to support that -// for the existsing GIOP1.0,1.1 & GIOP 1.2. Above all, the enum type -// contains things that I know of today. I can go ahead and add HTTP-NG -// stuff. They all seem to be in Working Draft stage. So, I am just -// keeping off. I dont want to add something for the kick of it :-) -enum TAO_Pluggable_Header_Type -{ - TAO_PLUGGABLE_MESSAGE_REQUEST_HEADER = 0, - TAO_PLUGGABLE_MESSAGE_LOCATE_REQUEST_HEADER -}; - - -/** - * Provide an external interface for the users of this pluggable - * messaging framework to denote existing message types. This has - * an inspiration from GIOP. So if anybody wants to add more message - * types you are welcome but please do not change the numbering - * scheme as this would affect GIOP. - * - * @note - * We may not need everything here. It would be good if we - * have only the following messages TAO_PLUGGABLE_MESSAGE_REQUEST, - * TAO_PLUGGABLE_MESSAGE_REPLY, - * TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION, - * TAO_PLUGGABLE_MESSAGE_MESSAGE_ERROR. Changes will be made once - * the rest of the stuff gets ready to roll - */ -enum TAO_Pluggable_Message_Type -{ - TAO_PLUGGABLE_MESSAGE_REQUEST = 0, // sent by client. - TAO_PLUGGABLE_MESSAGE_REPLY = 1, // by server. - TAO_PLUGGABLE_MESSAGE_CANCELREQUEST = 2, // by client. - TAO_PLUGGABLE_MESSAGE_LOCATEREQUEST = 3, // by client. - TAO_PLUGGABLE_MESSAGE_LOCATEREPLY = 4, - TAO_PLUGGABLE_MESSAGE_CLOSECONNECTION = 5, - TAO_PLUGGABLE_MESSAGE_MESSAGERROR = 6, - TAO_PLUGGABLE_MESSAGE_FRAGMENT = 7 -}; - -// @@ Bala: This is a hopeless GIOPism. -// @@ Carlos: Agreed. - -/** - * Provide an external interface for the users of this pluggable - * messaging framework to denote existing Exception types. This has - * an inspiration from GIOP. So if anybody wants to add more message - * types you are welcome but please do not change the numbering - * scheme as this would affect GIOP. - */ -enum TAO_Pluggable_Message_Exception_Type -{ - /// Request completed successfully - TAO_PLUGGABLE_MESSAGE_NO_EXCEPTION = 0, - - /// Request terminated with user exception - TAO_PLUGGABLE_MESSAGE_USER_EXCEPTION, - - /// Request terminated with system exception - TAO_PLUGGABLE_MESSAGE_SYSTEM_EXCEPTION, - - /// Reply is a location forward type - TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD, - - /// PLUGGABLE_MESSAGE 1.2, Reply is a location forward perm type.. - TAO_PLUGGABLE_MESSAGE_LOCATION_FORWARD_PERM, - - /// GIOP1.2, - TAO_PLUGGABLE_MESSAGE_NEEDS_ADDRESSING_MODE -}; - -TAO_END_VERSIONED_NAMESPACE_DECL - -#if defined (__ACE_INLINE__) -#include "tao/Pluggable_Messaging_Utils.i" -#endif /* __ACE_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* TAO_PLUGGABLE_MESSAGING_UTILS_H */ |