|
EPICS ARCHIVER V4
|
Writes data to storage. More...
#include <DataWriter.h>
Public Member Functions | |
| DataWriter (Index &index, const stdString &channel_name, const CtrlInfo &ctrl_info, DbrType dbr_type, DbrCount dbr_count, double period, size_t num_samples) | |
| Create a writer for the given index. More... | |
| ~DataWriter () | |
| Destructor. More... | |
| epicsTime | getLastStamp () |
| Returns the last time stamp in the archive. More... | |
| bool | add (const RawValue::Data *data) |
| Add a value. More... | |
| void | write (DbrType type, DbrCount count, size_t size, const RawValue::Data *value, MemoryBuffer< dbr_time_string > &cvt_buffer, class DataFile *datafile, FileOffset offset) |
| Write a value to binary file. More... | |
| dbr_time_string * | write1 (size_t size, MemoryBuffer< dbr_time_string > &cvt_buffer, class DataFile *datafile) |
| write 1 | |
| void | write2 (dbr_time_string *buffer, size_t size, const RawValue::Data *value) |
| write 2 | |
| void | write3 (dbr_time_string *buffer) |
| write 3 | |
| void | write4 (DbrType type, DbrCount count, dbr_time_string *buffer, size_t size, const RawValue::Data *value, class DataFile *datafile, FileOffset offset) |
| write 4 | |
| void | write5a (class DataFile *datafile, FileOffset offset) |
| write 5a | |
| void | write5b (class DataFile *datafile, FileOffset offset) |
| write 5b | |
| void | write6 (dbr_time_string *buffer, size_t size, class DataFile *datafile, FileOffset offset) |
| write 6 | |
Static Public Attributes | |
| static FileOffset | file_size_limit |
| Data file size limit. | |
| static stdString | data_file_name_base |
| Base name of data files. More... | |
Writes data to storage.
The data writer interfaces between a series of RawValue values and the Index/DataFile.
| DataWriter::DataWriter | ( | Index & | index, |
| const stdString & | channel_name, | ||
| const CtrlInfo & | ctrl_info, | ||
| DbrType | dbr_type, | ||
| DbrCount | dbr_count, | ||
| double | period, | ||
| size_t | num_samples | ||
| ) |
Create a writer for the given index.
| index,: | index file |
| channel_name,: | name of the channel |
| ctrl_info,: | meta information for the channel |
| dbr_type,: | the dbr_time_xxx type |
| dbr_count,: | array size |
| period,: | estimated periodicity of the channel |
| num_samples,: | estimated number of samples (helps w/ buffer allocation) |
| GenericException | on error. |
| DataWriter::~DataWriter | ( | ) |
Destructor.
Note: Since one might use another DataWriter to add to the same set of data files, the DataWriter does not clear the DataFile cache. Call DataFile::close_all() when done!
| bool DataWriter::add | ( | const RawValue::Data * | data | ) |
Add a value.
| GenericException | on error. |
| epicsTime DataWriter::getLastStamp | ( | ) |
Returns the last time stamp in the archive.
This allows you to avoid the back-in-time error by checking before adding. The result is a null time stamp in case there's nothing in the archive, yet.
| void DataWriter::write | ( | DbrType | type, |
| DbrCount | count, | ||
| size_t | size, | ||
| const RawValue::Data * | value, | ||
| MemoryBuffer< dbr_time_string > & | cvt_buffer, | ||
| class DataFile * | datafile, | ||
| FileOffset | offset | ||
| ) |
Write a value to binary file.
Requires a buffer for the memory-to-disk format conversions.
| GenericException | on error. |
|
static |
Base name of data files.
If not set, the date and time is used.
1.8.5