summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2013-11-14 20:39:32 +0000
committerKim van der Riet <kpvdr@apache.org>2013-11-14 20:39:32 +0000
commit7b69da362fa2f2d53ec5378539195b8a4a7cfa41 (patch)
tree9acd64a5e5ac0062dd12dd425ae3b1aaa31f1f82 /cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp
parent7dd5803403d7e371a5dcadd05f6d0a97ce25d0c1 (diff)
downloadqpid-python-7b69da362fa2f2d53ec5378539195b8a4a7cfa41.tar.gz
QPID-4984: Fix for recovery ambiguity issue, other code tidy-ups
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1542066 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp')
-rw-r--r--cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp b/cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp
index 2c1327d645..9daebaba80 100644
--- a/cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp
+++ b/cpp/src/qpid/linearstore/jrnl/LinearFileController.cpp
@@ -32,7 +32,8 @@
//#include <iostream> // DEBUG
namespace qpid {
-namespace qls_jrnl {
+namespace linearstore {
+namespace journal {
LinearFileController::LinearFileController(jcntl& jcntlRef) :
jcntlRef_(jcntlRef),
@@ -90,7 +91,7 @@ void LinearFileController::pullEmptyFileFromEfp() {
currentJournalFilePtr_->close();
std::string ef = emptyFilePoolPtr_->takeEmptyFile(journalDirectory_); // Moves file from EFP only, returns new file name
//std::cout << "*** LinearFileController::pullEmptyFileFromEfp() qn=" << jcntlRef.id() << " ef=" << ef << std::endl; // DEBUG
- addJournalFile(ef, getNextFileSeqNum(), emptyFilePoolPtr_->dataSize_kib(), 0);
+ addJournalFile(ef, emptyFilePoolPtr_->getIdentity(), getNextFileSeqNum(), 0);
}
void LinearFileController::purgeEmptyFilesToEfp() {
@@ -149,6 +150,11 @@ uint64_t LinearFileController::getCurrentFileSeqNum() const {
return currentJournalFilePtr_->getFileSeqNum();
}
+uint64_t LinearFileController::getCurrentSerial() const {
+ assertCurrentJournalFileValid("getCurrentSerial");
+ return currentJournalFilePtr_->getSerial();
+}
+
bool LinearFileController::isEmpty() const {
assertCurrentJournalFileValid("isEmpty");
return currentJournalFilePtr_->isEmpty();
@@ -173,10 +179,10 @@ const std::string LinearFileController::status(const uint8_t indentDepth) const
// --- protected functions ---
void LinearFileController::addJournalFile(const std::string& fileName,
+ const efpIdentity_t& efpIdentity,
const uint64_t fileNumber,
- const uint32_t fileSize_kib,
const uint32_t completedDblkCount) {
- JournalFile* jfp = new JournalFile(fileName, fileNumber, fileSize_kib);
+ JournalFile* jfp = new JournalFile(fileName, efpIdentity, fileNumber);
addJournalFile(jfp, completedDblkCount);
}
@@ -219,4 +225,4 @@ void LinearFileController::purgeEmptyFilesToEfpNoLock() {
}
}
-}} // namespace qpid::qls_jrnl
+}}}