summaryrefslogtreecommitdiff
path: root/cpp/src/tests/storePerftools/asyncPerf/PersistableQueuedMessage.cpp
blob: 2eba7d5be563a17dc96a56829dc5fbd5da253dde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "PersistableQueuedMessage.h"

#include "SimpleQueue.h"
#include "SimpleMessage.h"

namespace tests {
namespace storePerftools {
namespace asyncPerf {

PersistableQueuedMessage::PersistableQueuedMessage()
{}

PersistableQueuedMessage::PersistableQueuedMessage(SimpleQueue* q,
                                                   boost::intrusive_ptr<SimpleMessage> msg) :
        QueuedMessage(q, msg),
        m_enqHandle(q->getStore()->createEnqueueHandle(msg->getHandle(), q->getHandle()))
{}

PersistableQueuedMessage::PersistableQueuedMessage(const PersistableQueuedMessage& pm) :
        QueuedMessage(pm),
        m_enqHandle(pm.m_enqHandle)
{}

PersistableQueuedMessage::PersistableQueuedMessage(PersistableQueuedMessage* const pm) :
        QueuedMessage(pm),
        m_enqHandle(pm->m_enqHandle)
{}

PersistableQueuedMessage::~PersistableQueuedMessage()
{}

PersistableQueuedMessage&
PersistableQueuedMessage::operator=(const PersistableQueuedMessage& rhs)
{
    QueuedMessage::operator=(rhs);
    m_enqHandle = rhs.m_enqHandle;
    return *this;
}

const qpid::broker::EnqueueHandle&
PersistableQueuedMessage::enqHandle() const
{
    return m_enqHandle;
}

qpid::broker::EnqueueHandle&
PersistableQueuedMessage::enqHandle()
{
    return m_enqHandle;
}

}}} // tests::storePerftools::asyncPerf