varint.h 475 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include <util/system/types.h>
  3. class IInputStream;
  4. class IOutputStream;
  5. namespace NMonitoring {
  6. ui32 WriteVarUInt32(IOutputStream* output, ui32 value);
  7. ui32 ReadVarUInt32(IInputStream* input);
  8. size_t ReadVarUInt32(const ui8* buf, size_t len, ui32* result);
  9. enum class EReadResult {
  10. OK,
  11. ERR_OVERFLOW,
  12. ERR_UNEXPECTED_EOF,
  13. };
  14. [[nodiscard]]
  15. EReadResult TryReadVarUInt32(IInputStream* input, ui32* value);
  16. }