vdr
2.2.0
|
#include <tools.h>
Public Member Functions | |
cUnbufferedFile (void) | |
~cUnbufferedFile () | |
int | Open (const char *FileName, int Flags, mode_t Mode=DEFFILEMODE) |
int | Close (void) |
void | SetReadAhead (size_t ra) |
off_t | Seek (off_t Offset, int Whence) |
ssize_t | Read (void *Data, size_t Size) |
ssize_t | Write (const void *Data, size_t Size) |
Static Public Member Functions | |
static cUnbufferedFile * | Create (const char *FileName, int Flags, mode_t Mode=DEFFILEMODE) |
Private Member Functions | |
int | FadviseDrop (off_t Offset, off_t Len) |
Private Attributes | |
int | fd |
off_t | curpos |
off_t | cachedstart |
off_t | cachedend |
off_t | begin |
off_t | lastpos |
off_t | ahead |
size_t | readahead |
size_t | written |
size_t | totwritten |
cUnbufferedFile is used for large files that are mainly written or read in a streaming manner, and thus should not be cached.
|
static |
Definition at line 1883 of file tools.c.
References Open().
Referenced by cFileName::Open(), and cVideoDirectory::OpenVideoFile().
|
private |
int cUnbufferedFile::Open | ( | const char * | FileName, |
int | Flags, | ||
mode_t | Mode = DEFFILEMODE |
||
) |
Definition at line 1713 of file tools.c.
References cTimeMs::begin, and KILOBYTE.
Referenced by Create().
ssize_t cUnbufferedFile::Read | ( | void * | Data, |
size_t | Size | ||
) |
Definition at line 1774 of file tools.c.
References max(), min(), READCHUNK, and safe_read().
Referenced by cNonBlockingFileReader::Action(), cRingBufferLinear::Read(), and ReadFrame().
void cUnbufferedFile::SetReadAhead | ( | size_t | ra | ) |
Definition at line 1755 of file tools.c.
Referenced by cCuttingThread::LoadFrame().
ssize_t cUnbufferedFile::Write | ( | const void * | Data, |
size_t | Size | ||
) |
Definition at line 1832 of file tools.c.
References cTimeMs::begin, max(), MEGABYTE, min(), safe_write(), and WRITE_BUFFER.
Referenced by cRecorder::Action(), and cCuttingThread::ProcessSequence().