/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/cpp/skiff/zerocopy_output_writer.cpp
38 строк
879 B
robot-piglet
Intermediate changes
08 авг 2023, 20:03
08 авг 2023, 20:03
145f67a
Код
Авторство
О чём код?
#include "zerocopy_output_writer.h" namespace NSkiff { //////////////////////////////////////////////////////////////////////////////// TZeroCopyOutputStreamWriter::TZeroCopyOutputStreamWriter(IZeroCopyOutput* output) : Output_(output) { ObtainNextBlock(); } TZeroCopyOutputStreamWriter::~TZeroCopyOutputStreamWriter() { if (RemainingBytes_ > 0) { UndoRemaining(); } } void TZeroCopyOutputStreamWriter::ObtainNextBlock() { if (RemainingBytes_ > 0) { UndoRemaining(); } RemainingBytes_ = Output_->Next(&Current_); TotalWrittenBlockSize_ += RemainingBytes_; } void TZeroCopyOutputStreamWriter::UndoRemaining() { Output_->Undo(RemainingBytes_); TotalWrittenBlockSize_ -= RemainingBytes_; RemainingBytes_ = 0; } //////////////////////////////////////////////////////////////////////////////// } // namespace NSkiff