aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/encode/spack/varint.cpp
diff options
context:
space:
mode:
authorSergey Polovko <sergey@polovko.me>2022-02-10 16:47:03 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:47:03 +0300
commit2e714b5ebd40a1f4cc31c27f1ad6e49ca6d895f5 (patch)
treeb83306b6e37edeea782e9eed673d89286c4fef35 /library/cpp/monlib/encode/spack/varint.cpp
parent3e0b762a82514bac89c1dd6ea7211e381d8aa248 (diff)
downloadydb-2e714b5ebd40a1f4cc31c27f1ad6e49ca6d895f5.tar.gz
Restoring authorship annotation for Sergey Polovko <sergey@polovko.me>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/monlib/encode/spack/varint.cpp')
-rw-r--r--library/cpp/monlib/encode/spack/varint.cpp132
1 files changed, 66 insertions, 66 deletions
diff --git a/library/cpp/monlib/encode/spack/varint.cpp b/library/cpp/monlib/encode/spack/varint.cpp
index dabfaa9afe..051cf17380 100644
--- a/library/cpp/monlib/encode/spack/varint.cpp
+++ b/library/cpp/monlib/encode/spack/varint.cpp
@@ -1,79 +1,79 @@
-#include "varint.h"
-
-#include <util/generic/yexception.h>
-#include <util/stream/input.h>
-#include <util/stream/output.h>
-
-namespace NMonitoring {
- ui32 WriteVarUInt32(IOutputStream* output, ui32 value) {
- bool stop = false;
- ui32 written = 0;
- while (!stop) {
- ui8 byte = static_cast<ui8>(value | 0x80);
- value >>= 7;
- if (value == 0) {
- stop = true;
- byte &= 0x7F;
- }
- output->Write(byte);
- written++;
- }
- return written;
- }
-
- ui32 ReadVarUInt32(IInputStream* input) {
+#include "varint.h"
+
+#include <util/generic/yexception.h>
+#include <util/stream/input.h>
+#include <util/stream/output.h>
+
+namespace NMonitoring {
+ ui32 WriteVarUInt32(IOutputStream* output, ui32 value) {
+ bool stop = false;
+ ui32 written = 0;
+ while (!stop) {
+ ui8 byte = static_cast<ui8>(value | 0x80);
+ value >>= 7;
+ if (value == 0) {
+ stop = true;
+ byte &= 0x7F;
+ }
+ output->Write(byte);
+ written++;
+ }
+ return written;
+ }
+
+ ui32 ReadVarUInt32(IInputStream* input) {
ui32 value = 0;
switch (TryReadVarUInt32(input, &value)) {
case EReadResult::OK:
return value;
case EReadResult::ERR_OVERFLOW:
- ythrow yexception() << "the data is too long to read ui32";
+ ythrow yexception() << "the data is too long to read ui32";
case EReadResult::ERR_UNEXPECTED_EOF:
- ythrow yexception() << "the data unexpectedly ended";
+ ythrow yexception() << "the data unexpectedly ended";
default:
ythrow yexception() << "unknown error while reading varint";
}
- }
-
- size_t ReadVarUInt32(const ui8* buf, size_t len, ui32* result) {
- size_t count = 0;
- ui32 value = 0;
-
- ui8 byte = 0;
- do {
- if (7 * count > 8 * sizeof(ui32)) {
- ythrow yexception() << "the data is too long to read ui32";
- }
- if (count == len) {
- ythrow yexception() << "the data unexpectedly ended";
- }
- byte = buf[count];
- value |= (static_cast<ui32>(byte & 0x7F)) << (7 * count);
- ++count;
- } while (byte & 0x80);
-
- *result = value;
- return count;
- }
-
+ }
+
+ size_t ReadVarUInt32(const ui8* buf, size_t len, ui32* result) {
+ size_t count = 0;
+ ui32 value = 0;
+
+ ui8 byte = 0;
+ do {
+ if (7 * count > 8 * sizeof(ui32)) {
+ ythrow yexception() << "the data is too long to read ui32";
+ }
+ if (count == len) {
+ ythrow yexception() << "the data unexpectedly ended";
+ }
+ byte = buf[count];
+ value |= (static_cast<ui32>(byte & 0x7F)) << (7 * count);
+ ++count;
+ } while (byte & 0x80);
+
+ *result = value;
+ return count;
+ }
+
EReadResult TryReadVarUInt32(IInputStream* input, ui32* value) {
- size_t count = 0;
- ui32 result = 0;
-
- ui8 byte = 0;
- do {
- if (7 * count > 8 * sizeof(ui32)) {
+ size_t count = 0;
+ ui32 result = 0;
+
+ ui8 byte = 0;
+ do {
+ if (7 * count > 8 * sizeof(ui32)) {
return EReadResult::ERR_OVERFLOW;
- }
- if (input->Read(&byte, 1) != 1) {
+ }
+ if (input->Read(&byte, 1) != 1) {
return EReadResult::ERR_UNEXPECTED_EOF;
- }
- result |= (static_cast<ui32>(byte & 0x7F)) << (7 * count);
- ++count;
- } while (byte & 0x80);
-
- *value = result;
+ }
+ result |= (static_cast<ui32>(byte & 0x7F)) << (7 * count);
+ ++count;
+ } while (byte & 0x80);
+
+ *value = result;
return EReadResult::OK;
- }
-
-}
+ }
+
+}