00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ACTIVEMQ_CORE_PREFETCHPOLICY_H_
00019 #define _ACTIVEMQ_CORE_PREFETCHPOLICY_H_
00020
00021 #include <activemq/util/Config.h>
00022
00023 #include <decaf/util/Properties.h>
00024
00025 namespace activemq {
00026 namespace core {
00027
00034 class AMQCPP_API PrefetchPolicy {
00035 private:
00036
00037 PrefetchPolicy(const PrefetchPolicy&);
00038 PrefetchPolicy& operator=(const PrefetchPolicy&);
00039
00040 protected:
00041
00042 PrefetchPolicy();
00043
00044 public:
00045
00046 virtual ~PrefetchPolicy();
00047
00054 virtual void setDurableTopicPrefetch(int value) = 0;
00055
00061 virtual int getDurableTopicPrefetch() const = 0;
00062
00069 virtual void setQueuePrefetch(int value) = 0;
00070
00076 virtual int getQueuePrefetch() const = 0;
00077
00084 virtual void setQueueBrowserPrefetch(int value) = 0;
00085
00091 virtual int getQueueBrowserPrefetch() const = 0;
00092
00099 virtual void setTopicPrefetch(int value) = 0;
00100
00106 virtual int getTopicPrefetch() const = 0;
00107
00115 virtual int getMaxPrefetchLimit(int value) const = 0;
00116
00122 virtual PrefetchPolicy* clone() const = 0;
00123
00140 virtual void configure(const decaf::util::Properties& properties);
00141
00142 };
00143
00144 }}
00145
00146 #endif