3 //=======================================================================
7 * @author Ossama Othman <ossama@uci.edu>
9 //=======================================================================
12 #ifndef TAO_LB_PUSH_HANDLER_H
13 #define TAO_LB_PUSH_HANDLER_H
15 #include /**/ "ace/pre.h"
17 #include "ace/config-all.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "orbsvcs/CosLoadBalancingC.h"
25 #include "ace/Event_Handler.h"
29 * @class TAO_LB_Push_Handler
31 * @brief Event handler used when the "push" monitoring style is
34 * An event handler designed to push loads to the LoadManager.
36 class TAO_LB_Push_Handler
: public ACE_Event_Handler
40 TAO_LB_Push_Handler (CosLoadBalancing::LoadMonitor_ptr monitor
,
41 const PortableGroup::Location
& location
,
42 CosLoadBalancing::LoadManager_ptr manager
);
44 /// Receive the timeout event.
45 virtual int handle_timeout (const ACE_Time_Value
¤t_time
,
49 /// Reference to the LoadMonitor.
50 CosLoadBalancing::LoadMonitor_var monitor_
;
52 /// Location where the LoadMonitor resides.
53 const PortableGroup::Location location_
;
55 /// Reference to the LoadManager.
56 CosLoadBalancing::LoadManager_var manager_
;
59 #include /**/ "ace/post.h"
61 #endif /* TAO_LB_PUSH_HANDLER_H */