activemq-cpp-3.9.5
DefaultPrefetchPolicy.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _ACTIVEMQ_CORE_POLICIES_DEFAULTPREFETCHPOLICY_H_
19#define _ACTIVEMQ_CORE_POLICIES_DEFAULTPREFETCHPOLICY_H_
20
22
24
25namespace activemq {
26namespace core {
27namespace policies {
28
29 class AMQCPP_API DefaultPrefetchPolicy : public PrefetchPolicy {
30 private:
31
32 int durableTopicPrefetch;
33 int queuePrefetch;
34 int queueBrowserPrefetch;
35 int topicPrefetch;
36
37 public:
38
44
45 private:
46
47 DefaultPrefetchPolicy(const DefaultPrefetchPolicy&);
48 DefaultPrefetchPolicy& operator=(DefaultPrefetchPolicy&);
49
50 public:
51
53
55
56 virtual void setDurableTopicPrefetch(int value) {
57 this->durableTopicPrefetch = getMaxPrefetchLimit(value);
58 }
59
60 virtual int getDurableTopicPrefetch() const {
61 return this->durableTopicPrefetch;
62 }
63
64 virtual void setQueuePrefetch(int value) {
65 this->queuePrefetch = getMaxPrefetchLimit(value);
66 }
67
68 virtual int getQueuePrefetch() const {
69 return this->queuePrefetch;
70 }
71
72 virtual void setQueueBrowserPrefetch(int value) {
73 this->queueBrowserPrefetch = getMaxPrefetchLimit(value);
74 }
75
76 virtual int getQueueBrowserPrefetch() const {
77 return this->queueBrowserPrefetch;
78 }
79
80 virtual void setTopicPrefetch(int value) {
81 this->topicPrefetch = getMaxPrefetchLimit(value);
82 }
83
84 virtual int getTopicPrefetch() const {
85 return this->topicPrefetch;
86 }
87
88 virtual int getMaxPrefetchLimit(int value) const {
89 return value < MAX_PREFETCH_SIZE ? value : MAX_PREFETCH_SIZE;
90 }
91
92 virtual PrefetchPolicy* clone() const;
93
94 };
95
96}}}
97
98#endif /* _ACTIVEMQ_CORE_POLICIES_DEFAULTPREFETCHPOLICY_H_ */
#define AMQCPP_API
Definition Config.h:30
virtual void setQueueBrowserPrefetch(int value)
Sets the amount of prefetched messages for a Queue Browser.
Definition DefaultPrefetchPolicy.h:72
virtual void setDurableTopicPrefetch(int value)
Sets the amount of prefetched messages for a Durable Topic.
Definition DefaultPrefetchPolicy.h:56
static int DEFAULT_QUEUE_BROWSER_PREFETCH
Definition DefaultPrefetchPolicy.h:42
virtual int getTopicPrefetch() const
Gets the amount of messages to prefetch for a Topic.
Definition DefaultPrefetchPolicy.h:84
static int DEFAULT_QUEUE_PREFETCH
Definition DefaultPrefetchPolicy.h:41
virtual PrefetchPolicy * clone() const
Clone the Policy and return a new pointer to that clone.
virtual int getQueueBrowserPrefetch() const
Gets the amount of messages to prefetch for a Queue Browser.
Definition DefaultPrefetchPolicy.h:76
virtual void setTopicPrefetch(int value)
Sets the amount of prefetched messages for a Topic.
Definition DefaultPrefetchPolicy.h:80
static int MAX_PREFETCH_SIZE
Definition DefaultPrefetchPolicy.h:39
static int DEFAULT_TOPIC_PREFETCH
Definition DefaultPrefetchPolicy.h:43
virtual int getMaxPrefetchLimit(int value) const
Given a requested value for a new prefetch limit, compare it against some max prefetch value and retu...
Definition DefaultPrefetchPolicy.h:88
virtual int getQueuePrefetch() const
Gets the amount of messages to prefetch for a Queue.
Definition DefaultPrefetchPolicy.h:68
virtual int getDurableTopicPrefetch() const
Gets the amount of messages to prefetch for a Durable Topic.
Definition DefaultPrefetchPolicy.h:60
virtual void setQueuePrefetch(int value)
Sets the amount of prefetched messages for a Queue.
Definition DefaultPrefetchPolicy.h:64
static int DEFAULT_DURABLE_TOPIC_PREFETCH
Definition DefaultPrefetchPolicy.h:40
Definition DefaultPrefetchPolicy.h:27
Definition ActiveMQTempDestination.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24