PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Public Member Functions | |
LogFileBuffer (size_t log_buffer_size, perf_counter_t perf_write, perf_counter_t perf_fsync) | |
~LogFileBuffer () | |
bool | start_log (const char *filename) |
void | close_file () |
size_t | get_read_ptr (void **ptr, bool *is_part) |
void | write_no_check (void *ptr, size_t size) |
Write to the buffer but assuming there is enough space. More... | |
size_t | available () const |
int | fd () const |
ssize_t | write_to_file (const void *buffer, size_t size, bool call_fsync) const |
void | fsync () const |
void | mark_read (size_t n) |
size_t | total_written () const |
size_t | buffer_size () const |
size_t | count () const |
Public Attributes | |
bool | _should_run = false |
Private Attributes | |
const size_t | _buffer_size |
int | _fd = -1 |
uint8_t * | _buffer = nullptr |
size_t | _head = 0 |
next position to write to More... | |
size_t | _count = 0 |
number of bytes in _buffer to be written More... | |
size_t | _total_written = 0 |
perf_counter_t | _perf_write |
perf_counter_t | _perf_fsync |
Definition at line 152 of file log_writer_file.h.
px4::logger::LogWriterFile::LogFileBuffer::LogFileBuffer | ( | size_t | log_buffer_size, |
perf_counter_t | perf_write, | ||
perf_counter_t | perf_fsync | ||
) |
Definition at line 388 of file log_writer_file.cpp.
px4::logger::LogWriterFile::LogFileBuffer::~LogFileBuffer | ( | ) |
Definition at line 394 of file log_writer_file.cpp.
References _buffer, _fd, _perf_fsync, _perf_write, and perf_free().
|
inline |
Definition at line 170 of file log_writer_file.h.
References _count.
|
inline |
Definition at line 181 of file log_writer_file.h.
void px4::logger::LogWriterFile::LogFileBuffer::close_file | ( | ) |
Definition at line 496 of file log_writer_file.cpp.
References _count, _fd, _head, and _total_written.
Referenced by px4::logger::LogWriterFile::run().
|
inline |
Definition at line 182 of file log_writer_file.h.
References _count.
|
inline |
Definition at line 172 of file log_writer_file.h.
References _fd.
|
inline |
Definition at line 476 of file log_writer_file.cpp.
References _fd, _perf_fsync, perf_begin(), and perf_end().
Referenced by px4::logger::LogWriterFile::run(), and write_to_file().
size_t px4::logger::LogWriterFile::LogFileBuffer::get_read_ptr | ( | void ** | ptr, |
bool * | is_part | ||
) |
Definition at line 428 of file log_writer_file.cpp.
References _buffer, _buffer_size, _count, and _head.
Referenced by px4::logger::LogWriterFile::run().
|
inline |
Definition at line 178 of file log_writer_file.h.
References _count.
Referenced by px4::logger::LogWriterFile::run().
bool px4::logger::LogWriterFile::LogFileBuffer::start_log | ( | const char * | filename | ) |
Definition at line 446 of file log_writer_file.cpp.
References _buffer, _buffer_size, _count, _fd, _head, _should_run, and _total_written.
|
inline |
Definition at line 180 of file log_writer_file.h.
|
inline |
Write to the buffer but assuming there is enough space.
Definition at line 406 of file log_writer_file.cpp.
References _buffer, _buffer_size, _count, and _head.
|
inline |
Definition at line 483 of file log_writer_file.cpp.
References _fd, _perf_write, fsync(), perf_begin(), perf_end(), and px4::logger::LogWriterFile::write().
Referenced by px4::logger::LogWriterFile::run().
|
private |
Definition at line 189 of file log_writer_file.h.
Referenced by get_read_ptr(), start_log(), write_no_check(), and ~LogFileBuffer().
|
private |
Definition at line 187 of file log_writer_file.h.
Referenced by get_read_ptr(), start_log(), and write_no_check().
|
private |
number of bytes in _buffer to be written
Definition at line 191 of file log_writer_file.h.
Referenced by close_file(), get_read_ptr(), start_log(), and write_no_check().
|
private |
Definition at line 188 of file log_writer_file.h.
Referenced by close_file(), fsync(), start_log(), write_to_file(), and ~LogFileBuffer().
|
private |
next position to write to
Definition at line 190 of file log_writer_file.h.
Referenced by close_file(), get_read_ptr(), start_log(), and write_no_check().
|
private |
Definition at line 194 of file log_writer_file.h.
Referenced by fsync(), and ~LogFileBuffer().
|
private |
Definition at line 193 of file log_writer_file.h.
Referenced by write_to_file(), and ~LogFileBuffer().
bool px4::logger::LogWriterFile::LogFileBuffer::_should_run = false |
Definition at line 184 of file log_writer_file.h.
Referenced by px4::logger::LogWriterFile::run(), start_log(), and px4::logger::LogWriterFile::thread_stop().
|
private |
Definition at line 192 of file log_writer_file.h.
Referenced by close_file(), and start_log().