00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ACE_CONNECTION_RECYCLING_STRATEGY_H
00013 #define ACE_CONNECTION_RECYCLING_STRATEGY_H
00014 #include "ace/pre.h"
00015
00016 #include "ace/Recyclable.h"
00017
00018 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00019 # pragma once
00020 #endif
00021
00022 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00023
00024
00025
00026
00027
00028
00029 class ACE_Export ACE_Connection_Recycling_Strategy
00030 {
00031 public:
00032
00033 virtual ~ACE_Connection_Recycling_Strategy (void);
00034
00035
00036 virtual int purge (const void *recycling_act) = 0;
00037
00038
00039 virtual int cache (const void *recycling_act) = 0;
00040
00041 virtual int recycle_state (const void *recycling_act,
00042 ACE_Recyclable_State new_state) = 0;
00043
00044
00045 virtual ACE_Recyclable_State recycle_state (const void *recycling_act) const = 0;
00046
00047
00048 virtual int mark_as_closed (const void *recycling_act) = 0;
00049
00050
00051 virtual int mark_as_closed_i (const void *recycling_act) = 0;
00052
00053
00054 virtual int cleanup_hint (const void *recycling_act,
00055 void **act_holder = 0) = 0;
00056
00057 };
00058
00059 ACE_END_VERSIONED_NAMESPACE_DECL
00060
00061 #include "ace/post.h"
00062
00063 #endif