Joedb
9.5.0
The Journal-Only Embedded Database
Loading...
Searching...
No Matches
src
joedb
journal
Async_Writer.h
Go to the documentation of this file.
1
#ifndef joedb_Async_Writer_declared
2
#define joedb_Async_Writer_declared
3
4
#include "
joedb/journal/Abstract_File.h
"
5
6
namespace
joedb
7
{
8
/// @ingroup journal
9
class
Async_Writer
10
{
11
private
:
12
Abstract_File
&file;
13
int64_t current;
14
15
public
:
16
//////////////////////////////////////////////////////////////////////////
17
Async_Writer
(
Abstract_File
&file, int64_t start):
18
//////////////////////////////////////////////////////////////////////////
19
file(file),
20
current(start)
21
{
22
}
23
24
//////////////////////////////////////////////////////////////////////////
25
void
write
(
const
char
*buffer,
size_t
size)
26
//////////////////////////////////////////////////////////////////////////
27
{
28
file.
pwrite
(buffer, size, current);
29
current += size;
30
}
31
32
//////////////////////////////////////////////////////////////////////////
33
int64_t
get_position
() const
34
//////////////////////////////////////////////////////////////////////////
35
{
36
return
current;
37
}
38
};
39
}
40
41
#endif
Abstract_File.h
joedb::Abstract_File
Definition
Abstract_File.h:11
joedb::Abstract_File::pwrite
virtual void pwrite(const char *data, size_t size, int64_t offset)
Write a range of bytes. Extend file size if necessary.
Definition
Abstract_File.h:23
joedb::Async_Writer
Definition
Async_Writer.h:10
joedb::Async_Writer::get_position
int64_t get_position() const
Definition
Async_Writer.h:33
joedb::Async_Writer::Async_Writer
Async_Writer(Abstract_File &file, int64_t start)
Definition
Async_Writer.h:17
joedb::Async_Writer::write
void write(const char *buffer, size_t size)
Definition
Async_Writer.h:25
joedb
Definition
Blob.h:7
Generated by
1.9.8