00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Block_Flushing_Strategy.h 00006 * 00007 * $Id: Block_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_BLOCK_FLUSHING_STRATEGY_H 00014 #define TAO_BLOCK_FLUSHING_STRATEGY_H 00015 #include /**/ "ace/pre.h" 00016 00017 #include "tao/Flushing_Strategy.h" 00018 00019 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00020 # pragma once 00021 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00022 00023 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00024 00025 /** 00026 * @class TAO_Block_Flushing_Strategy 00027 * 00028 * @brief Implement a flushing strategy that blocks on write to flush 00029 */ 00030 class TAO_Block_Flushing_Strategy : public TAO_Flushing_Strategy 00031 { 00032 public: 00033 virtual int schedule_output (TAO_Transport *transport); 00034 virtual int cancel_output (TAO_Transport *transport); 00035 virtual int flush_message (TAO_Transport *transport, 00036 TAO_Queued_Message *msg, 00037 ACE_Time_Value *max_wait_time); 00038 virtual int flush_transport (TAO_Transport *transport 00039 , ACE_Time_Value *max_wait_time); 00040 }; 00041 00042 TAO_END_VERSIONED_NAMESPACE_DECL 00043 00044 #include /**/ "ace/post.h" 00045 #endif /* TAO_BLOCK_FLUSHING_STRATEGY_H */