summaryrefslogtreecommitdiffstats
path: root/memfilepersistence
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-12-02 15:40:36 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2016-12-12 02:55:44 +0100
commitf2fd8d33d46edb8b3c4351d14f4abbc386ffbabf (patch)
tree087f1b61806834edd4349fb52ba69c5b1dd34756 /memfilepersistence
parentf97313b7611fc90f87c656c61c97ff2baa0b22a7 (diff)
Include asciistream in implementation only.
Diffstat (limited to 'memfilepersistence')
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/common/environment.cpp5
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/common/filespecification.cpp5
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/common/types.cpp1
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/common/types.h1
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.cpp40
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.h35
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_serializer.cpp18
-rw-r--r--memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp14
8 files changed, 69 insertions, 50 deletions
diff --git a/memfilepersistence/src/vespa/memfilepersistence/common/environment.cpp b/memfilepersistence/src/vespa/memfilepersistence/common/environment.cpp
index 6cfe2269886..5afc70179b4 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/common/environment.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/common/environment.cpp
@@ -1,10 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/memfilepersistence/common/environment.h>
+
+#include "environment.h"
#include <vespa/vespalib/util/random.h>
#include <vespa/vespalib/util/vstringfmt.h>
#include <vespa/config/config.h>
+#include <vespa/vespalib/stllike/asciistream.h>
using config::ConfigGetter;
diff --git a/memfilepersistence/src/vespa/memfilepersistence/common/filespecification.cpp b/memfilepersistence/src/vespa/memfilepersistence/common/filespecification.cpp
index b3e90d53bb1..6b11d2e479d 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/common/filespecification.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/common/filespecification.cpp
@@ -1,7 +1,8 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/memfilepersistence/common/filespecification.h>
+
+#include "filespecification.h"
+#include <vespa/vespalib/util/exceptions.h>
namespace storage {
namespace memfile {
diff --git a/memfilepersistence/src/vespa/memfilepersistence/common/types.cpp b/memfilepersistence/src/vespa/memfilepersistence/common/types.cpp
index 75e1217e680..f02423cb194 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/common/types.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/common/types.cpp
@@ -2,6 +2,7 @@
#include "types.h"
#include <sstream>
+#include <vespa/vespalib/util/exceptions.h>
namespace storage {
namespace memfile {
diff --git a/memfilepersistence/src/vespa/memfilepersistence/common/types.h b/memfilepersistence/src/vespa/memfilepersistence/common/types.h
index 71a9b411e6c..283eb1153f4 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/common/types.h
+++ b/memfilepersistence/src/vespa/memfilepersistence/common/types.h
@@ -15,7 +15,6 @@
*/
#pragma once
-#include <iosfwd>
#include <vespa/document/bucket/bucketid.h>
#include <vespa/document/base/documentid.h>
#include <vespa/document/fieldvalue/document.h>
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.cpp
index 8d577c8093a..9d15890b1ab 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.cpp
@@ -1,11 +1,47 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "fileinfo.h"
-#include <sstream>
+#include <vespa/vespalib/stllike/asciistream.h>
namespace storage {
namespace memfile {
+void
+MetaSlot::print(std::ostream & out) const {
+ vespalib::asciistream tmp;
+ print(tmp);
+ out << tmp.str();
+}
+
+void
+MetaSlot::print(vespalib::asciistream & out) const {
+ out << "Slot(" << std::dec << _timestamp << ", " << _gid << ", "
+ << _headerPos << " - " << _headerSize << ", " << _bodyPos
+ << " - " << _bodySize << ", 0x" << std::hex << _flags << ", 0x"
+ << _checksum << ")" << std::dec;
+}
+
+std::ostream& operator<<(std::ostream& out, const MetaSlot& slot) {
+ vespalib::asciistream tmp;
+ slot.print(tmp);
+ return out << tmp.str();
+}
+vespalib::asciistream& operator<<(vespalib::asciistream & out, const MetaSlot& slot) {
+ slot.print(out); return out;
+}
+
+void
+Header::print(std::ostream& out, const std::string& indent) const {
+ out << indent << "SlotFileHeader(\n"
+ << indent << " version: " << std::hex << _version << std::dec << "\n"
+ << indent << " meta data list size: " << _metaDataListSize << "\n"
+ << indent << " header block size: " << _headerBlockSize << "b\n"
+ << indent << " checksum: " << std::hex << _checksum
+ << indent << (verify() ? " (OK)\n" : " (MISMATCH)\n")
+ << indent << " file checksum: " << _fileChecksum << "\n"
+ << indent << ")";
+}
+
FileInfo::FileInfo()
: _metaDataListSize(0),
_headerBlockSize(0),
@@ -29,6 +65,8 @@ FileInfo::FileInfo(const Header& header, size_t fileSize)
- sizeof(MetaSlot) * header._metaDataListSize - sizeof(Header))
{ }
+FileInfo::~FileInfo() { }
+
uint32_t
FileInfo::getHeaderBlockStartIndex() const
{
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.h b/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.h
index 973e1f2cd10..2db17f3846c 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.h
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/fileinfo.h
@@ -37,17 +37,8 @@ struct MetaSlot : private Types {
return (_flags & IN_USE);
}
- void print(std::ostream & out) const {
- vespalib::asciistream tmp;
- print(tmp);
- out << tmp.str();
- }
- void print(vespalib::asciistream & out) const {
- out << "Slot(" << std::dec << _timestamp << ", " << _gid << ", "
- << _headerPos << " - " << _headerSize << ", " << _bodyPos
- << " - " << _bodySize << ", 0x" << std::hex << _flags << ", 0x"
- << _checksum << ")" << std::dec;
- }
+ void print(std::ostream & out) const;
+ void print(vespalib::asciistream & out) const;
// Functions used by unit tests (avoid renaming all old func usage)
void updateChecksum() { _checksum = calcSlotChecksum(); }
@@ -60,14 +51,8 @@ struct MetaSlot : private Types {
{ _flags = (isInUse ? _flags | IN_USE : _flags & ~IN_USE); }
};
-inline std::ostream& operator<<(std::ostream& out, const MetaSlot& slot) {
- vespalib::asciistream tmp;
- slot.print(tmp);
- return out << tmp.str();
-}
-inline vespalib::asciistream& operator<<(vespalib::asciistream & out, const MetaSlot& slot) {
- slot.print(out); return out;
-}
+std::ostream& operator<<(std::ostream& out, const MetaSlot& slot);
+vespalib::asciistream& operator<<(vespalib::asciistream & out, const MetaSlot& slot);
/**
* Represents a slotfile header.
@@ -111,16 +96,7 @@ struct Header {
void setMetaDataListSize(uint32_t sz) { _metaDataListSize = sz; }
void setHeaderBlockSize(uint32_t sz) { _headerBlockSize = sz; }
- void print(std::ostream& out, const std::string& indent = "") const {
- out << indent << "SlotFileHeader(\n"
- << indent << " version: " << std::hex << _version << std::dec << "\n"
- << indent << " meta data list size: " << _metaDataListSize << "\n"
- << indent << " header block size: " << _headerBlockSize << "b\n"
- << indent << " checksum: " << std::hex << _checksum
- << indent << (verify() ? " (OK)\n" : " (MISMATCH)\n")
- << indent << " file checksum: " << _fileChecksum << "\n"
- << indent << ")";
- }
+ void print(std::ostream& out, const std::string& indent = "") const;
};
struct FileInfo {
@@ -137,6 +113,7 @@ struct FileInfo {
FileInfo();
FileInfo(uint32_t metaDataListSize, uint32_t headerBlockSize, uint32_t bodyBlockSize);
FileInfo(const Header& header, size_t fileSize);
+ ~FileInfo();
uint32_t getBlockSize(Types::DocumentPart part) const {
return (part == Types::BODY ? _bodyBlockSize : _headerBlockSize);
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_serializer.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_serializer.cpp
index 2c683059fa5..66e263a88cf 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_serializer.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_serializer.cpp
@@ -1,15 +1,17 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/log/log.h>
-#include <vespa/memfilepersistence/mapper/memfile_v1_serializer.h>
-#include <vespa/memfilepersistence/mapper/memfile_v1_verifier.h>
+
+#include "memfile_v1_serializer.h"
+#include "memfile_v1_verifier.h"
+
+#include "memfilemapper.h"
+#include "locationreadplanner.h"
+#include "uniqueslotgenerator.h"
+#include "simplememfileiobuffer.h"
#include <vespa/memfilepersistence/common/exceptions.h>
-#include <vespa/memfilepersistence/mapper/memfilemapper.h>
-#include <vespa/memfilepersistence/mapper/locationreadplanner.h>
-#include <vespa/memfilepersistence/mapper/uniqueslotgenerator.h>
-#include <vespa/memfilepersistence/mapper/simplememfileiobuffer.h>
#include <vespa/memfilepersistence/spi/memfilepersistenceprovidermetrics.h>
#include <vespa/vespalib/util/crc.h>
+#include <vespa/vespalib/stllike/asciistream.h>
+#include <vespa/log/log.h>
LOG_SETUP(".persistence.memfilev1");
diff --git a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
index a3f22d5fafb..96295cd560b 100644
--- a/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
+++ b/memfilepersistence/src/vespa/memfilepersistence/mapper/memfile_v1_verifier.cpp
@@ -1,10 +1,11 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/fastos/fastos.h>
-#include <vespa/memfilepersistence/mapper/memfile_v1_verifier.h>
+
+#include "memfile_v1_verifier.h"
+#include "memfilemapper.h"
+#include "simplememfileiobuffer.h"
+#include "buffer.h"
#include <vespa/memfilepersistence/memfile/memfile.h>
-#include <vespa/memfilepersistence/mapper/memfilemapper.h>
-#include <vespa/memfilepersistence/mapper/simplememfileiobuffer.h>
-#include <vespa/memfilepersistence/mapper/buffer.h>
+#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/log/log.h>
LOG_SETUP(".persistence.memfilev1.verifier");
@@ -21,8 +22,7 @@ void alignUp(uint32_t& value, uint32_t offset = 0, uint32_t block = 512) {
}
struct TimestampSlotOrder
- : public std::binary_function<MetaSlot*,
- MetaSlot*, bool>
+ : public std::binary_function<MetaSlot*, MetaSlot*, bool>
{
bool operator()(const MetaSlot* slot1,
const MetaSlot* slot2) const