diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-12-02 15:40:36 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-12-12 02:55:44 +0100 |
commit | f2fd8d33d46edb8b3c4351d14f4abbc386ffbabf (patch) | |
tree | 087f1b61806834edd4349fb52ba69c5b1dd34756 /memfilepersistence | |
parent | f97313b7611fc90f87c656c61c97ff2baa0b22a7 (diff) |
Include asciistream in implementation only.
Diffstat (limited to 'memfilepersistence')
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 |