3 // ===================================================================
5 * @file DiffServ_Protocols_Hooks.h
7 * @author Jaiganesh Balasubramanian <jai@dre.vanderbilt.edu>
8 * Johnny Willemsen <jwillemsen@remedy.nl>
10 // ===================================================================
12 #ifndef TAO_DIFFSERV_PROTOCOLS_HOOKS_H
13 #define TAO_DIFFSERV_PROTOCOLS_HOOKS_H
15 #include /**/ "ace/pre.h"
17 #include "tao/orbconf.h"
19 #include "tao/Network_Priority_Protocols_Hooks.h"
20 #include "ace/Service_Config.h"
21 #include "tao/DiffServPolicy/DiffServPolicy_Export.h"
23 #if !defined (ACE_LACKS_PRAGMA_ONCE)
25 #endif /* ACE_LACKS_PRAGMA_ONCE */
27 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
29 class TAO_DiffServPolicy_Export TAO_DS_Network_Priority_Protocols_Hooks
30 : public TAO_Network_Priority_Protocols_Hooks
34 TAO_DS_Network_Priority_Protocols_Hooks ();
37 virtual ~TAO_DS_Network_Priority_Protocols_Hooks ();
39 /// Initialize the network priority protocols hooks instance.
40 void init_hooks (TAO_ORB_Core
*orb_core
);
42 /// This function is used by the client side ORB to figure out
43 /// the DiffServ codepoint that needs to be added to the request
44 /// to be sent to the server.
46 CORBA::Long
get_dscp_codepoint (TAO_Stub
*stub
, CORBA::Object
*object
);
48 /// This function is used by the server side to figure out the
49 /// DiffServ codepoint that is attached and sent as part of the
50 /// service context of the request from the client side.
51 /// Specifically, when CLIENT_PROPAGATED networ priority model
52 /// is followed, the clients sent the DiffServ codepoint, they
53 /// want the server to use in the reply, as a service context
54 /// entry in the request.
56 CORBA::Long
get_dscp_codepoint (TAO_Service_Context
&sc
);
59 TAO_ORB_Core
*orb_core_
;
63 ACE_STATIC_SVC_DECLARE_EXPORT (TAO_DiffServPolicy
,
64 TAO_DS_Network_Priority_Protocols_Hooks
)
65 ACE_FACTORY_DECLARE (TAO_DiffServPolicy
,
66 TAO_DS_Network_Priority_Protocols_Hooks
)
67 TAO_END_VERSIONED_NAMESPACE_DECL
69 #include /**/ "ace/post.h"
70 #endif /* TAO_DIFFSERV_PROTOCOLS_HOOKS_H */