00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Leader_Follower_Flushing_Strategy.h 00006 * 00007 * $Id: Leader_Follower_Flushing_Strategy.h 80603 2008-02-11 22:14:39Z johnc $ 00008 * 00009 * @author Carlos O'Ryan <coryan@uci.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_LEADER_FOLLOWER_FLUSHING_STRATEGY_H 00014 #define TAO_LEADER_FOLLOWER_FLUSHING_STRATEGY_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "tao/Flushing_Strategy.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 /** 00027 * @class TAO_Leader_Follower_Flushing_Strategy 00028 * 00029 * @brief Implement a flushing strategy that uses the Leader/Follower 00030 * set. 00031 */ 00032 class TAO_Leader_Follower_Flushing_Strategy 00033 : public TAO_Flushing_Strategy 00034 { 00035 public: 00036 virtual int schedule_output (TAO_Transport *transport); 00037 virtual int cancel_output (TAO_Transport *transport); 00038 virtual int flush_message (TAO_Transport *transport, 00039 TAO_Queued_Message *msg, 00040 ACE_Time_Value *max_wait_time); 00041 virtual int flush_transport (TAO_Transport *transport, ACE_Time_Value *max_wait_time); 00042 }; 00043 00044 TAO_END_VERSIONED_NAMESPACE_DECL 00045 00046 #include /**/ "ace/post.h" 00047 00048 #endif /* TAO_LEADER_FOLLOWER_FLUSHING_STRATEGY_H */