Author: kpvdr
Date: 2008-12-03 10:32:36 -0500 (Wed, 03 Dec 2008)
New Revision: 2913
Modified:
store/trunk/cpp/lib/JournalImpl.h
store/trunk/cpp/lib/jrnl/aio_callback.hpp
store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp
store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp
Log:
corrected some virtualization issues
Modified: store/trunk/cpp/lib/JournalImpl.h
===================================================================
--- store/trunk/cpp/lib/JournalImpl.h 2008-12-03 00:10:28 UTC (rev 2912)
+++ store/trunk/cpp/lib/JournalImpl.h 2008-12-03 15:32:36 UTC (rev 2913)
@@ -25,7 +25,6 @@
#define _JournalImpl_
#include <set>
-#include "jrnl/data_tok.hpp"
#include "jrnl/jcntl.hpp"
#include "jrnl/slock.hpp"
#include "DataTokenImpl.h"
@@ -69,7 +68,7 @@
inline void cancel() { mrg::journal::slock s(&_gefe_mutex); parent = 0;
}
};
- class JournalImpl : public qpid::broker::ExternalQueueStore, public
journal::jcntl, public journal::aio_callback
+ class JournalImpl : public qpid::broker::ExternalQueueStore, public
journal::jcntl, public virtual journal::aio_callback
{
private:
static qpid::broker::Timer* journalTimerPtr;
@@ -188,8 +187,8 @@
void flushFire();
// AIO callbacks
- void wr_aio_cb(std::vector<journal::data_tok*>& dtokl);
- void rd_aio_cb(std::vector<u_int16_t>& pil);
+ virtual void wr_aio_cb(std::vector<journal::data_tok*>& dtokl);
+ virtual void rd_aio_cb(std::vector<u_int16_t>& pil);
qpid::management::ManagementObject* GetManagementObject (void) const
{ return _mgmtObject; }
@@ -229,7 +228,7 @@
JournalImpl(journalId, journalDirectory, journalBaseFilename,
getEventsTimeout, flushTimeout)
{}
- virtual ~TplJournalImpl() {}
+ ~TplJournalImpl() {}
// Special version of read_data_record that ignores transactions - needed
when reading the TPL
inline journal::iores read_data_record(void** const datapp, std::size_t&
dsize,
Modified: store/trunk/cpp/lib/jrnl/aio_callback.hpp
===================================================================
--- store/trunk/cpp/lib/jrnl/aio_callback.hpp 2008-12-03 00:10:28 UTC (rev 2912)
+++ store/trunk/cpp/lib/jrnl/aio_callback.hpp 2008-12-03 15:32:36 UTC (rev 2913)
@@ -44,9 +44,9 @@
class aio_callback
{
public:
+ virtual ~aio_callback() {}
virtual void wr_aio_cb(std::vector<data_tok*>& dtokl) = 0;
virtual void rd_aio_cb(std::vector<u_int16_t>& pil) = 0;
- virtual ~aio_callback() {};
};
} // namespace journal
Modified: store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp 2008-12-03 00:10:28 UTC (rev 2912)
+++ store/trunk/cpp/tests/jrnl/_st_helper_fns.hpp 2008-12-03 15:32:36 UTC (rev 2913)
@@ -61,7 +61,7 @@
bool done() { if (flag || _wstate == NONE) return true; else { flag = true; return
false; } }
};
-class test_jrnl : public jcntl, public aio_callback
+class test_jrnl : public jcntl, public virtual aio_callback
{
public:
test_jrnl(const std::string& jid, const std::string& jdir, const
std::string& base_filename) :
@@ -78,7 +78,7 @@
vector<string>* txn_list, u_int64_t& highest_rid)
{ jcntl::recover(num_jfiles, ae, ae_max_jfiles, jfsize_sblks, JRNL_WMGR_DEF_PAGES,
JRNL_WMGR_DEF_PAGE_SIZE, this,
txn_list, highest_rid); }
- void wr_aio_cb(std::vector<data_tok*>& dtokl)
+ virtual void wr_aio_cb(std::vector<data_tok*>& dtokl)
{
for (std::vector<data_tok*>::const_iterator i=dtokl.begin();
i!=dtokl.end(); i++)
{
@@ -87,7 +87,7 @@
delete dtp;
}
}
- void rd_aio_cb(std::vector<u_int16_t>& /*pil*/) {}
+ virtual void rd_aio_cb(std::vector<u_int16_t>& /*pil*/) {}
};
/*
Modified: store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp
===================================================================
--- store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp 2008-12-03 00:10:28 UTC (rev 2912)
+++ store/trunk/cpp/tests/jrnl/jtt/jrnl_instance.hpp 2008-12-03 15:32:36 UTC (rev 2913)
@@ -41,7 +41,7 @@
namespace jtt
{
- class jrnl_instance : public mrg::journal::jcntl, public mrg::journal::aio_callback
+ class jrnl_instance : public mrg::journal::jcntl, public virtual
mrg::journal::aio_callback
{
public:
typedef boost::shared_ptr<jrnl_instance> shared_ptr;
@@ -88,8 +88,8 @@
void tc_wait_compl() throw ();
// AIO callbacks
- void wr_aio_cb(std::vector<journal::data_tok*>& dtokl);
- void rd_aio_cb(std::vector<u_int16_t>& pil);
+ virtual void wr_aio_cb(std::vector<journal::data_tok*>& dtokl);
+ virtual void rd_aio_cb(std::vector<u_int16_t>& pil);
private:
void run_enq() throw ();