aboutsummaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authoreshemchik <eshemchik@yandex-team.ru>2022-02-10 16:50:53 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:50:53 +0300
commitface8a85ff3525043b92e692a9891cd1c19519c4 (patch)
treeb8d8fb33c214e745aed40b94ec90c00fa14a1d59 /library
parentc30e2c009b4c8b03c837d199a610c5b0596d0233 (diff)
downloadydb-face8a85ff3525043b92e692a9891cd1c19519c4.tar.gz
Restoring authorship annotation for <eshemchik@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library')
-rw-r--r--library/cpp/archive/directory_models_archive_reader.cpp138
-rw-r--r--library/cpp/archive/directory_models_archive_reader.h70
-rw-r--r--library/cpp/archive/directory_models_archive_reader_ut.cpp108
-rw-r--r--library/cpp/archive/models_archive_reader.h38
-rw-r--r--library/cpp/archive/ut/ya.make2
-rw-r--r--library/cpp/archive/ya.make4
-rw-r--r--library/cpp/archive/yarchive.cpp2
-rw-r--r--library/cpp/archive/yarchive.h8
8 files changed, 185 insertions, 185 deletions
diff --git a/library/cpp/archive/directory_models_archive_reader.cpp b/library/cpp/archive/directory_models_archive_reader.cpp
index 6de9424c7c..6c85cecf67 100644
--- a/library/cpp/archive/directory_models_archive_reader.cpp
+++ b/library/cpp/archive/directory_models_archive_reader.cpp
@@ -1,37 +1,37 @@
-#include "directory_models_archive_reader.h"
+#include "directory_models_archive_reader.h"
#include "yarchive.h"
-
-#include <util/folder/dirut.h>
-#include <util/folder/filelist.h>
-#include <util/folder/path.h>
-#include <util/memory/blob.h>
-#include <util/stream/file.h>
-#include <util/stream/input.h>
-#include <util/stream/mem.h>
-
+
+#include <util/folder/dirut.h>
+#include <util/folder/filelist.h>
+#include <util/folder/path.h>
+#include <util/memory/blob.h>
+#include <util/stream/file.h>
+#include <util/stream/input.h>
+#include <util/stream/mem.h>
+
TDirectoryModelsArchiveReader::TDirectoryModelsArchiveReader(const TString& path, bool lockMemory, bool ownBlobs)
- : Path_(path)
-{
- Y_ENSURE(IsDir(path), "directory not found on this path");
-
+ : Path_(path)
+{
+ Y_ENSURE(IsDir(path), "directory not found on this path");
+
LoadFilesAndSubdirs("", lockMemory, ownBlobs);
-}
-
-TDirectoryModelsArchiveReader::~TDirectoryModelsArchiveReader() {}
-
-size_t TDirectoryModelsArchiveReader::Count() const noexcept {
- return Recs_.size();
-}
-
-TString TDirectoryModelsArchiveReader::KeyByIndex(size_t n) const {
- Y_ENSURE(n < Count(), "incorrect index " << n);
- return Recs_[n];
-}
-
-bool TDirectoryModelsArchiveReader::Has(const TStringBuf key) const {
+}
+
+TDirectoryModelsArchiveReader::~TDirectoryModelsArchiveReader() {}
+
+size_t TDirectoryModelsArchiveReader::Count() const noexcept {
+ return Recs_.size();
+}
+
+TString TDirectoryModelsArchiveReader::KeyByIndex(size_t n) const {
+ Y_ENSURE(n < Count(), "incorrect index " << n);
+ return Recs_[n];
+}
+
+bool TDirectoryModelsArchiveReader::Has(const TStringBuf key) const {
return BlobByKey_.contains(key) || PathByKey_.contains(key);
-}
-
+}
+
namespace {
struct TBlobOwningStream : public TMemoryInput {
TBlob Blob;
@@ -42,15 +42,15 @@ namespace {
};
}
-TAutoPtr<IInputStream> TDirectoryModelsArchiveReader::ObjectByKey(const TStringBuf key) const {
+TAutoPtr<IInputStream> TDirectoryModelsArchiveReader::ObjectByKey(const TStringBuf key) const {
return new TBlobOwningStream(BlobByKey(key));
-}
-
-TBlob TDirectoryModelsArchiveReader::ObjectBlobByKey(const TStringBuf key) const {
- return BlobByKey(key);
-}
-
-TBlob TDirectoryModelsArchiveReader::BlobByKey(const TStringBuf key) const {
+}
+
+TBlob TDirectoryModelsArchiveReader::ObjectBlobByKey(const TStringBuf key) const {
+ return BlobByKey(key);
+}
+
+TBlob TDirectoryModelsArchiveReader::BlobByKey(const TStringBuf key) const {
Y_ENSURE(Has(key), "key " << key << " not found");
if (auto ptr = BlobByKey_.FindPtr(key); ptr) {
return *ptr;
@@ -59,34 +59,34 @@ TBlob TDirectoryModelsArchiveReader::BlobByKey(const TStringBuf key) const {
return TBlob::FromFile(*ptr);
}
Y_UNREACHABLE();
-}
-
-bool TDirectoryModelsArchiveReader::Compressed() const {
- return false;
-}
-
-TString TDirectoryModelsArchiveReader::NormalizePath(TString path) const {
- path = "/" + path;
- for (size_t i = 0; i < path.size(); i++) {
- if (path[i] == '\\')
- path[i] = '/';
- }
- return path;
-}
-
+}
+
+bool TDirectoryModelsArchiveReader::Compressed() const {
+ return false;
+}
+
+TString TDirectoryModelsArchiveReader::NormalizePath(TString path) const {
+ path = "/" + path;
+ for (size_t i = 0; i < path.size(); i++) {
+ if (path[i] == '\\')
+ path[i] = '/';
+ }
+ return path;
+}
+
void TDirectoryModelsArchiveReader::LoadFilesAndSubdirs(const TString& subPath, bool lockMemory, bool ownBlobs) {
- TFileList fileList;
- fileList.Fill(JoinFsPaths(Path_, subPath));
- const char* file;
- while ((file = fileList.Next()) != nullptr) {
- TString key = JoinFsPaths(subPath, TString(file));
+ TFileList fileList;
+ fileList.Fill(JoinFsPaths(Path_, subPath));
+ const char* file;
+ while ((file = fileList.Next()) != nullptr) {
+ TString key = JoinFsPaths(subPath, TString(file));
TString fullPath = JoinFsPaths(Path_, key);
TBlob fileBlob;
- if (lockMemory) {
+ if (lockMemory) {
fileBlob = TBlob::LockedFromFile(fullPath);
- } else {
+ } else {
fileBlob = TBlob::FromFile(fullPath);
- }
+ }
if (key.EndsWith(".archive")) {
TArchiveReader reader(fileBlob);
for (size_t i = 0, iEnd = reader.Count(); i < iEnd; ++i) {
@@ -104,12 +104,12 @@ void TDirectoryModelsArchiveReader::LoadFilesAndSubdirs(const TString& subPath,
}
Recs_.push_back(normalizedPath);
}
- }
-
- TDirsList dirsList;
- dirsList.Fill(JoinFsPaths(Path_, subPath));
- const char* dir;
- while ((dir = dirsList.Next()) != nullptr) {
+ }
+
+ TDirsList dirsList;
+ dirsList.Fill(JoinFsPaths(Path_, subPath));
+ const char* dir;
+ while ((dir = dirsList.Next()) != nullptr) {
LoadFilesAndSubdirs(JoinFsPaths(subPath, TString(dir)), lockMemory, ownBlobs);
- }
-}
+ }
+}
diff --git a/library/cpp/archive/directory_models_archive_reader.h b/library/cpp/archive/directory_models_archive_reader.h
index d16d6d728d..7c479970e1 100644
--- a/library/cpp/archive/directory_models_archive_reader.h
+++ b/library/cpp/archive/directory_models_archive_reader.h
@@ -1,38 +1,38 @@
-#pragma once
-
-#include "models_archive_reader.h"
-
-#include <util/folder/path.h>
-#include <util/generic/fwd.h>
-#include <util/generic/hash.h>
-#include <util/generic/ptr.h>
-#include <util/generic/vector.h>
-
-
-class IInputStream;
-
-class TBlob;
-
-class TDirectoryModelsArchiveReader : public IModelsArchiveReader {
-public:
+#pragma once
+
+#include "models_archive_reader.h"
+
+#include <util/folder/path.h>
+#include <util/generic/fwd.h>
+#include <util/generic/hash.h>
+#include <util/generic/ptr.h>
+#include <util/generic/vector.h>
+
+
+class IInputStream;
+
+class TBlob;
+
+class TDirectoryModelsArchiveReader : public IModelsArchiveReader {
+public:
TDirectoryModelsArchiveReader(const TString& path, bool lockMemory = false, bool ownBlobs = false);
- virtual ~TDirectoryModelsArchiveReader() override;
-
- virtual size_t Count() const noexcept override;
- virtual TString KeyByIndex(size_t n) const override;
- virtual bool Has(const TStringBuf key) const override;
- virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const override;
- virtual TBlob ObjectBlobByKey(const TStringBuf key) const override;
- virtual TBlob BlobByKey(const TStringBuf key) const override;
- virtual bool Compressed() const override;
-
-private:
- TString NormalizePath(TString path) const; // in archive path works unix-like path delimiter and leading slash is neccesery
+ virtual ~TDirectoryModelsArchiveReader() override;
+
+ virtual size_t Count() const noexcept override;
+ virtual TString KeyByIndex(size_t n) const override;
+ virtual bool Has(const TStringBuf key) const override;
+ virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const override;
+ virtual TBlob ObjectBlobByKey(const TStringBuf key) const override;
+ virtual TBlob BlobByKey(const TStringBuf key) const override;
+ virtual bool Compressed() const override;
+
+private:
+ TString NormalizePath(TString path) const; // in archive path works unix-like path delimiter and leading slash is neccesery
void LoadFilesAndSubdirs(const TString& subPath, bool lockMemory, bool ownBlobs);
-
-private:
- TString Path_;
+
+private:
+ TString Path_;
THashMap<TString, TString> PathByKey_;
- THashMap<TString, TBlob> BlobByKey_;
- TVector<TString> Recs_;
-};
+ THashMap<TString, TBlob> BlobByKey_;
+ TVector<TString> Recs_;
+};
diff --git a/library/cpp/archive/directory_models_archive_reader_ut.cpp b/library/cpp/archive/directory_models_archive_reader_ut.cpp
index 09994de9b4..92b710a495 100644
--- a/library/cpp/archive/directory_models_archive_reader_ut.cpp
+++ b/library/cpp/archive/directory_models_archive_reader_ut.cpp
@@ -1,55 +1,55 @@
-#include "directory_models_archive_reader.h"
-
+#include "directory_models_archive_reader.h"
+
#include <library/cpp/testing/unittest/registar.h>
-
-#include <util/folder/tempdir.h>
-#include <util/string/cast.h>
-#include <util/stream/file.h>
-#include <util/system/tempfile.h>
-#include <util/memory/blob.h>
-
-class TDirectoryModelsArchiveReaderTest: public TTestBase {
- UNIT_TEST_SUITE(TDirectoryModelsArchiveReaderTest)
- UNIT_TEST(TestRead);
- UNIT_TEST_SUITE_END();
-
-private:
- void TestRead();
-};
-
-UNIT_TEST_SUITE_REGISTRATION(TDirectoryModelsArchiveReaderTest);
-
-const TString MAIN_DIR = "./dir";
-const TString SUBDIR = "/subdir";
-const TString SAMPLE_FILE1 = "/sample1";
-const TString SAMPLE_FILE2 = "/sample2";
-const TString TEST_TEXT = "Test Text.";
-
-void TDirectoryModelsArchiveReaderTest::TestRead() {
- TTempDir mainDir(MAIN_DIR);
- TTempDir subDir(MAIN_DIR + SUBDIR);
- TTempFileHandle file1(MAIN_DIR + SAMPLE_FILE1);
- TTempFileHandle file2(MAIN_DIR + SUBDIR + SAMPLE_FILE2);
-
- file1.Write(TEST_TEXT.data(), TEST_TEXT.size());
- file1.FlushData();
-
- TDirectoryModelsArchiveReader reader(MAIN_DIR, false);
-
- UNIT_ASSERT_EQUAL(reader.Count(), 2);
-
- UNIT_ASSERT(reader.Has(SAMPLE_FILE1));
- UNIT_ASSERT(reader.Has(SUBDIR + SAMPLE_FILE2));
-
- UNIT_ASSERT_EQUAL(reader.KeyByIndex(0), SAMPLE_FILE1);
- UNIT_ASSERT_EQUAL(reader.KeyByIndex(1), SUBDIR + SAMPLE_FILE2);
-
- TBlob blob = reader.BlobByKey(SAMPLE_FILE1);
- Cout << "'" << TString(blob.AsCharPtr(), blob.Size()) << "' - '" << TEST_TEXT << "'" << Endl;
- UNIT_ASSERT_VALUES_EQUAL(TString(blob.AsCharPtr(), blob.Size()), TString(TEST_TEXT));
-
- TAutoPtr<IInputStream> is = reader.ObjectByKey(SAMPLE_FILE1);
- const TString data = is->ReadAll();
- Cout << "'" << data << "' - '" << TEST_TEXT << "'" << Endl;
- UNIT_ASSERT_VALUES_EQUAL(data, TEST_TEXT);
-}
+
+#include <util/folder/tempdir.h>
+#include <util/string/cast.h>
+#include <util/stream/file.h>
+#include <util/system/tempfile.h>
+#include <util/memory/blob.h>
+
+class TDirectoryModelsArchiveReaderTest: public TTestBase {
+ UNIT_TEST_SUITE(TDirectoryModelsArchiveReaderTest)
+ UNIT_TEST(TestRead);
+ UNIT_TEST_SUITE_END();
+
+private:
+ void TestRead();
+};
+
+UNIT_TEST_SUITE_REGISTRATION(TDirectoryModelsArchiveReaderTest);
+
+const TString MAIN_DIR = "./dir";
+const TString SUBDIR = "/subdir";
+const TString SAMPLE_FILE1 = "/sample1";
+const TString SAMPLE_FILE2 = "/sample2";
+const TString TEST_TEXT = "Test Text.";
+
+void TDirectoryModelsArchiveReaderTest::TestRead() {
+ TTempDir mainDir(MAIN_DIR);
+ TTempDir subDir(MAIN_DIR + SUBDIR);
+ TTempFileHandle file1(MAIN_DIR + SAMPLE_FILE1);
+ TTempFileHandle file2(MAIN_DIR + SUBDIR + SAMPLE_FILE2);
+
+ file1.Write(TEST_TEXT.data(), TEST_TEXT.size());
+ file1.FlushData();
+
+ TDirectoryModelsArchiveReader reader(MAIN_DIR, false);
+
+ UNIT_ASSERT_EQUAL(reader.Count(), 2);
+
+ UNIT_ASSERT(reader.Has(SAMPLE_FILE1));
+ UNIT_ASSERT(reader.Has(SUBDIR + SAMPLE_FILE2));
+
+ UNIT_ASSERT_EQUAL(reader.KeyByIndex(0), SAMPLE_FILE1);
+ UNIT_ASSERT_EQUAL(reader.KeyByIndex(1), SUBDIR + SAMPLE_FILE2);
+
+ TBlob blob = reader.BlobByKey(SAMPLE_FILE1);
+ Cout << "'" << TString(blob.AsCharPtr(), blob.Size()) << "' - '" << TEST_TEXT << "'" << Endl;
+ UNIT_ASSERT_VALUES_EQUAL(TString(blob.AsCharPtr(), blob.Size()), TString(TEST_TEXT));
+
+ TAutoPtr<IInputStream> is = reader.ObjectByKey(SAMPLE_FILE1);
+ const TString data = is->ReadAll();
+ Cout << "'" << data << "' - '" << TEST_TEXT << "'" << Endl;
+ UNIT_ASSERT_VALUES_EQUAL(data, TEST_TEXT);
+}
diff --git a/library/cpp/archive/models_archive_reader.h b/library/cpp/archive/models_archive_reader.h
index ea237aecb0..2b1af92488 100644
--- a/library/cpp/archive/models_archive_reader.h
+++ b/library/cpp/archive/models_archive_reader.h
@@ -1,20 +1,20 @@
-#pragma once
-
-#include <util/generic/fwd.h>
-#include <util/generic/ptr.h>
-
-class IInputStream;
-
-class TBlob;
-
-class IModelsArchiveReader {
-public:
+#pragma once
+
+#include <util/generic/fwd.h>
+#include <util/generic/ptr.h>
+
+class IInputStream;
+
+class TBlob;
+
+class IModelsArchiveReader {
+public:
virtual ~IModelsArchiveReader() = default;
- virtual size_t Count() const = 0;
- virtual TString KeyByIndex(size_t n) const = 0;
- virtual bool Has(const TStringBuf key) const = 0;
- virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const = 0;
- virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0;
- virtual TBlob BlobByKey(const TStringBuf key) const = 0;
- virtual bool Compressed() const = 0;
-};
+ virtual size_t Count() const = 0;
+ virtual TString KeyByIndex(size_t n) const = 0;
+ virtual bool Has(const TStringBuf key) const = 0;
+ virtual TAutoPtr<IInputStream> ObjectByKey(const TStringBuf key) const = 0;
+ virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0;
+ virtual TBlob BlobByKey(const TStringBuf key) const = 0;
+ virtual bool Compressed() const = 0;
+};
diff --git a/library/cpp/archive/ut/ya.make b/library/cpp/archive/ut/ya.make
index 4f324ccfc6..4a8ae4da06 100644
--- a/library/cpp/archive/ut/ya.make
+++ b/library/cpp/archive/ut/ya.make
@@ -10,7 +10,7 @@ SRCDIR(library/cpp/archive)
SRCS(
yarchive_ut.cpp
- directory_models_archive_reader_ut.cpp
+ directory_models_archive_reader_ut.cpp
)
END()
diff --git a/library/cpp/archive/ya.make b/library/cpp/archive/ya.make
index 65d36479ef..497f9b13b4 100644
--- a/library/cpp/archive/ya.make
+++ b/library/cpp/archive/ya.make
@@ -5,8 +5,8 @@ OWNER(pg)
SRCS(
yarchive.cpp
yarchive.h
- directory_models_archive_reader.cpp
- directory_models_archive_reader.h
+ directory_models_archive_reader.cpp
+ directory_models_archive_reader.h
)
END()
diff --git a/library/cpp/archive/yarchive.cpp b/library/cpp/archive/yarchive.cpp
index 1becc3e5da..89be4a17ee 100644
--- a/library/cpp/archive/yarchive.cpp
+++ b/library/cpp/archive/yarchive.cpp
@@ -367,7 +367,7 @@ TArchiveReader::TArchiveReader(const TBlob& data)
{
}
-TArchiveReader::~TArchiveReader() {}
+TArchiveReader::~TArchiveReader() {}
size_t TArchiveReader::Count() const noexcept {
return Impl_->Count();
diff --git a/library/cpp/archive/yarchive.h b/library/cpp/archive/yarchive.h
index 8120bcb940..7822007d23 100644
--- a/library/cpp/archive/yarchive.h
+++ b/library/cpp/archive/yarchive.h
@@ -1,11 +1,11 @@
#pragma once
-#include "models_archive_reader.h"
-
+#include "models_archive_reader.h"
+
#include <util/generic/fwd.h>
#include <util/generic/ptr.h>
-
+
class IInputStream;
class IOutputStream;
@@ -29,7 +29,7 @@ private:
THolder<TImpl> Impl_;
};
-class TArchiveReader : public IModelsArchiveReader {
+class TArchiveReader : public IModelsArchiveReader {
public:
explicit TArchiveReader(const TBlob& data);
~TArchiveReader() override;