00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Reactive_Flushing_Strategy.h 00006 * 00007 * $Id: Reactive_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_REACTIVE_FLUSHING_STRATEGY_H 00014 #define TAO_REACTIVE_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_Reactive_Flushing_Strategy 00028 * 00029 * @brief Implement a flushing strategy that uses the reactor. 00030 */ 00031 class TAO_Reactive_Flushing_Strategy : public TAO_Flushing_Strategy 00032 { 00033 public: 00034 virtual int schedule_output (TAO_Transport *transport); 00035 virtual int cancel_output (TAO_Transport *transport); 00036 virtual int flush_message (TAO_Transport *transport, 00037 TAO_Queued_Message *msg, 00038 ACE_Time_Value *max_wait_time); 00039 virtual int flush_transport (TAO_Transport *transport 00040 , ACE_Time_Value *max_wait_time); 00041 }; 00042 00043 TAO_END_VERSIONED_NAMESPACE_DECL 00044 00045 #include /**/ "ace/post.h" 00046 00047 #endif /* TAO_REACTIVE_FLUSHING_STRATEGY_H */