aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/streams/growing_file_input/growing_file_input.h
blob: 9054a5f3dac9c3f587eb082adbd6d761c423fe94 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include <util/stream/input.h>
#include <util/system/file.h>

/**
 * Growing file input stream.
 *
 * File descriptor offsets to the end of the file, when the object is created.
 *
 * Read function waites for reading at least one byte.
 */
class TGrowingFileInput: public IInputStream {
public:
    TGrowingFileInput(const TFile& file);
    TGrowingFileInput(const TString& path);

private:
    size_t DoRead(void* buf, size_t len) override;

private:
    TFile File_;
};