activemq-cpp-3.8.2
ActiveMQMessageAudit.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_ACTIVEMQMESSAGEAUDIT_H_
19 #define _ACTIVEMQ_CORE_ACTIVEMQMESSAGEAUDIT_H_
20 
21 #include <activemq/util/Config.h>
22 
25 #include <decaf/lang/Pointer.h>
26 
27 namespace activemq {
28 namespace core {
29 
30  class MessageAuditImpl;
31 
33  private:
34 
35  MessageAuditImpl* impl;
36 
37  public:
38 
39  static const int DEFAULT_WINDOW_SIZE;
40  static const int MAXIMUM_PRODUCER_COUNT;
41 
42  public:
43 
48 
57  ActiveMQMessageAudit(int auditDepth, int maximumNumberOfProducersToTrack);
58 
60 
61  public:
62 
68  int getAuditDepth() const;
69 
76  void setAuditDepth(int value);
77 
81  int getMaximumNumberOfProducersToTrack() const;
82 
89  void getMaximumNumberOfProducersToTrack(int value);
90 
100  bool isDuplicate(const std::string& msgId) const;
101 
110  bool isDuplicate(decaf::lang::Pointer<commands::MessageId> msgId) const;
111 
118  void rollback(const std::string& msgId);
119 
126  void rollback(decaf::lang::Pointer<commands::MessageId> msgId);
127 
136  bool isInOrder(const std::string& msgId) const;
137 
146  bool isInOrder(decaf::lang::Pointer<commands::MessageId> msgId) const;
147 
151  long long getLastSeqId(decaf::lang::Pointer<commands::ProducerId> id) const;
152 
156  void clear();
157 
158  };
159 
160 }}
161 
162 #endif /* _ACTIVEMQ_CORE_ACTIVEMQMESSAGEAUDIT_H_ */
#define AMQCPP_API
Definition: Config.h:30
static const int MAXIMUM_PRODUCER_COUNT
Definition: ActiveMQMessageAudit.h:40
Definition: ActiveMQMessageAudit.h:32
static const int DEFAULT_WINDOW_SIZE
Definition: ActiveMQMessageAudit.h:39
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: CachedConsumer.h:24
Decaf&#39;s implementation of a Smart Pointer that is a template on a Type and is Thread Safe if the defa...
Definition: Pointer.h:53