aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/on_disk/chunks/writer.h
diff options
context:
space:
mode:
authordenplusplus <denplusplus@yandex-team.ru>2022-02-10 16:47:34 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:34 +0300
commit57c20d143e8a438cd76b9fdc3ca2e8ee3ac1f32a (patch)
treecc63639f8e502db19a82c20e2861c6d1edbf9fea /library/cpp/on_disk/chunks/writer.h
parent464ba3814a83db4f2d5327393b0b6eaf0c86bfd7 (diff)
downloadydb-57c20d143e8a438cd76b9fdc3ca2e8ee3ac1f32a.tar.gz
Restoring authorship annotation for <denplusplus@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/on_disk/chunks/writer.h')
-rw-r--r--library/cpp/on_disk/chunks/writer.h44
1 files changed, 22 insertions, 22 deletions
diff --git a/library/cpp/on_disk/chunks/writer.h b/library/cpp/on_disk/chunks/writer.h
index ab14522bdd..ee0d7983c7 100644
--- a/library/cpp/on_disk/chunks/writer.h
+++ b/library/cpp/on_disk/chunks/writer.h
@@ -1,57 +1,57 @@
-#pragma once
-
-#include <util/generic/vector.h>
-#include <util/stream/output.h>
-
-template <typename T>
+#pragma once
+
+#include <util/generic/vector.h>
+#include <util/stream/output.h>
+
+template <typename T>
inline void WriteBin(IOutputStream* out, typename TTypeTraits<T>::TFuncParam t) {
- out->Write(&t, sizeof(T));
-}
-
+ out->Write(&t, sizeof(T));
+}
+
class TChunkedDataWriter: public IOutputStream {
public:
TChunkedDataWriter(IOutputStream& slave);
~TChunkedDataWriter() override;
-
+
void NewBlock();
-
+
template <typename T>
inline void WriteBinary(typename TTypeTraits<T>::TFuncParam t) {
this->Write(&t, sizeof(T));
}
-
+
void WriteFooter();
size_t GetCurrentBlockOffset() const;
size_t GetBlockCount() const;
-
+
protected:
void DoWrite(const void* buf, size_t len) override {
Slave.Write(buf, len);
Offset += len;
}
-
+
private:
static inline size_t PaddingSize(size_t size, size_t boundary) noexcept {
const size_t boundaryViolation = size % boundary;
-
+
return boundaryViolation == 0 ? 0 : boundary - boundaryViolation;
}
-
+
inline void Pad(size_t boundary) {
const size_t newOffset = Offset + PaddingSize(Offset, boundary);
-
+
while (Offset < newOffset) {
Write('\0');
- }
+ }
}
-
+
private:
static const ui64 Version = 1;
-
+
IOutputStream& Slave;
-
+
size_t Offset;
TVector<ui64> Offsets;
TVector<ui64> Lengths;
-};
+};