00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Reactive_Flushing_Strategy.h 00006 * 00007 * $Id: Reactive_Flushing_Strategy.h 71473 2006-03-10 07:19:20Z jtc $ 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 }; 00041 00042 TAO_END_VERSIONED_NAMESPACE_DECL 00043 00044 #include /**/ "ace/post.h" 00045 00046 #endif /* TAO_REACTIVE_FLUSHING_STRATEGY_H */