3 //=============================================================================
5 * @file Block_Flushing_Strategy.h
7 * @author Carlos O'Ryan <coryan@uci.edu>
9 //=============================================================================
11 #ifndef TAO_BLOCK_FLUSHING_STRATEGY_H
12 #define TAO_BLOCK_FLUSHING_STRATEGY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/Flushing_Strategy.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
27 class Drain_Constraints
;
32 * @class TAO_Block_Flushing_Strategy
34 * @brief Implement a flushing strategy that blocks on write to flush
36 class TAO_Block_Flushing_Strategy
: public TAO_Flushing_Strategy
39 int schedule_output (TAO_Transport
*transport
) override
;
40 int cancel_output (TAO_Transport
*transport
) override
;
41 int flush_message (TAO_Transport
*transport
,
42 TAO_Queued_Message
*msg
,
43 ACE_Time_Value
*max_wait_time
) override
;
44 int flush_transport (TAO_Transport
*transport
45 , ACE_Time_Value
*max_wait_time
) override
;
48 int call_handle_output (TAO_Transport
*transport
,
49 const TAO::Transport::Drain_Constraints
&dc
);
52 TAO_END_VERSIONED_NAMESPACE_DECL
54 #include /**/ "ace/post.h"
55 #endif /* TAO_BLOCK_FLUSHING_STRATEGY_H */