activemq-cpp-3.9.5
MessageDispatchChannel.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_MESSAGEDISPATCHCHANNEL_H_
19#define _ACTIVEMQ_CORE_MESSAGEDISPATCHCHANNEL_H_
20
23
26#include <decaf/lang/Pointer.h>
27
28namespace activemq {
29namespace core {
30
31 using decaf::lang::Pointer;
32 using activemq::commands::MessageDispatch;
33
35 public:
36
38
44 virtual void enqueue(const Pointer<MessageDispatch>& message) = 0;
45
51 virtual void enqueueFirst(const Pointer<MessageDispatch>& message) = 0;
52
56 virtual bool isEmpty() const = 0;
57
61 virtual bool isClosed() const = 0;
62
66 virtual bool isRunning() const = 0;
67
79 virtual Pointer<MessageDispatch> dequeue(long long timeout) = 0;
80
88
95 virtual Pointer<MessageDispatch> peek() const = 0;
96
100 virtual void start() = 0;
101
105 virtual void stop() = 0;
106
110 virtual void close() = 0;
111
115 virtual void clear() = 0;
116
120 virtual int size() const = 0;
121
128 virtual std::vector<Pointer<MessageDispatch> > removeAll() = 0;
129
130 };
131
132}}
133
134#endif /* _ACTIVEMQ_CORE_MESSAGEDISPATCHCHANNEL_H_ */
#define AMQCPP_API
Definition Config.h:30
Definition MessageDispatchChannel.h:34
virtual void enqueue(const Pointer< MessageDispatch > &message)=0
Add a Message to the Channel behind all pending message.
virtual bool isClosed() const =0
virtual Pointer< MessageDispatch > peek() const =0
Peek in the Queue and return the first message in the Channel without removing it from the channel.
virtual std::vector< Pointer< MessageDispatch > > removeAll()=0
Remove all messages that are currently in the Channel and return them as a list of Messages.
virtual Pointer< MessageDispatch > dequeueNoWait()=0
Used to get an enqueued message if there is one queued right now.
virtual void enqueueFirst(const Pointer< MessageDispatch > &message)=0
Add a message to the front of the Channel.
virtual void start()=0
Starts dispatch of messages from the Channel.
virtual Pointer< MessageDispatch > dequeue(long long timeout)=0
Used to get an enqueued message.
virtual void clear()=0
Clear the Channel, all pending messages are removed.
virtual void stop()=0
Stops dispatch of message from the Channel.
virtual bool isRunning() const =0
virtual void close()=0
Close this channel no messages will be dispatched after this method is called.
Decaf's implementation of a Smart Pointer that is a template on a Type and is Thread Safe if the defa...
Definition Pointer.h:53
The interface for all synchronizable objects (that is, objects that can be locked and unlocked).
Definition Synchronizable.h:37
Definition ActiveMQTempDestination.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24