|
PIP
1.8.0
Platform-Independent Primitives
|
Class for read and write binary data to logfile, and playback this data in realtime, or custom speed. More...

Classes | |
| struct | BinLogIndex |
| Struct contains position, ID and timestamp of record in file. More... | |
| struct | BinLogInfo |
| Struct contains full information about Binary Log file and about all Records using map of BinLogRecordInfo. More... | |
| struct | BinLogRecordInfo |
| Struct contains information about all records with same ID. More... | |
Public Types | |
| enum | PlayMode { PlayRealTime, PlayVariableSpeed, PlayStaticDelay } |
| Play modes for PIBinaryLog. More... | |
| enum | SplitMode { SplitNone, SplitTime, SplitSize, SplitCount } |
| Different split modes for writing PIBinaryLog, which can separate files by size, by time or by records count. More... | |
Public Types inherited from PIIODevice | |
| enum | DeviceMode { ReadOnly = 0x01, WriteOnly = 0x02, ReadWrite = 0x03 } |
| Open modes for PIIODevice. More... | |
| enum | DeviceOption { BlockingRead = 0x01, BlockingWrite = 0x02 } |
| Options for PIIODevice, works with some devices. More... | |
| enum | DeviceInfoFlag { Sequential = 0x01, Reliable = 0x02 } |
| Characteristics of PIIODevice subclass. More... | |
Public Types inherited from PIThread | |
| enum | Priority { piLowerst, piLow, piNormal, piHigh, piHighest } |
| Priority of thread. More... | |
Public Member Functions | |
| PlayMode | playMode () const |
| Current PlayMode. | |
| SplitMode | splitMode () const |
| Current SplitMode. | |
| PIString | logDir () const |
| Current directory where billogs wiil be saved. | |
| PIString | filePrefix () const |
| Returns current file prefix. | |
| int | defaultID () const |
| Default ID, used in write function. | |
| double | playSpeed () const |
| Returns current play speed. | |
| PISystemTime | playDelay () const |
| Returns current play delay. | |
| PISystemTime | splitTime () const |
| Returns current binlog file split time. | |
| llong | splitFileSize () const |
| Returns current binlog file split size. | |
| int | splitRecordCount () const |
| Returns current binlog file split records count. | |
| bool | rapidStart () const |
| Returns if rapid start enabled. | |
| void | createNewFile (const PIString &path) |
| Create binlog file with Filename = path. | |
| void | setPlayMode (PlayMode mode) |
| Set PlayMode. | |
| void | setSplitMode (SplitMode mode) |
| Set SplitMode. | |
| void | setLogDir (const PIString &path) |
| Set path to directory where binlogs will be saved. | |
| void | setFilePrefix (const PIString &prefix) |
| Set file prefix, used to. | |
| void | setDefaultID (int id) |
| Set defaultID, used in write function. | |
| void | setRapidStart (bool enabled) |
| If enabled BinLog ThreadedRead starts without delay for first record, i.e. first record will be readed immediately. | |
| void | setPlaySpeed (double speed) |
| void | setPlayDelay (const PISystemTime &delay) |
| void | setPlayRealTime () |
| Set playMode to PlayRealTime. | |
| void | setSplitTime (const PISystemTime &time) |
| void | setSplitFileSize (llong size) |
| void | setSplitRecordCount (int count) |
| void | setPause (bool pause) |
| Set pause while playing via threadedRead or writing via write. | |
| int | writeBinLog (int id, PIByteArray data) |
| Write one record to BinLog file, with ID = id, id must be greather than 0. | |
| int | writeBinLog (int id, const void *data, int size) |
| Write one record to BinLog file, with ID = id, id must be greather than 0. | |
| int | writeBinLog_raw (int id, const PISystemTime &time, const PIByteArray &data) |
| Write one RAW record to BinLog file, with ID = id, Timestamp = time. | |
| int | writeCount () const |
| Returns count of writed records. | |
| PIByteArray | readBinLog (int id=0, PISystemTime *time=0) |
| Read one record from BinLog file, with ID = id, if id = 0 than any id will be readed. | |
| int | readBinLog (int id, void *read_to, int max_size, PISystemTime *time=0) |
| Read one record from BinLog file, with ID = id, if id = 0 than any id will be readed. | |
| llong | logSize () const |
| Returns binary log file size. | |
| bool | isEnd () const |
| Return true, if position at the end of BinLog file. | |
| bool | isEmpty () const |
| Returns if BinLog file is empty. | |
| bool | isPause () const |
| Returns BinLog pause status. | |
| int | lastReadedID () const |
| Returns id of last readed record. | |
| PISystemTime | lastReadedTimestamp () const |
| Returns timestamp of last readed record. | |
| int | read (void *read_to, int max_size) |
| Read one message from binlog file, with ID contains in "filterID" or any ID, if "filterID" is empty. | |
| int | write (const void *data, int size) |
| Write one record to BinLog file, with ID = "defaultID". | |
| void | restart () |
| Go to begin of BinLog file. | |
| BinLogInfo | logInfo () const |
| Get binlog info BinLogInfo. | |
| const PIVector< BinLogIndex > & | logIndex () const |
| Get binlog index BinLogIndex, need createIndex before getting index. | |
| bool | createIndex () |
| Create index of current binlog file. | |
| void | seekTo (int rindex) |
| Go to record #index. | |
| bool | seek (const PISystemTime &time) |
| Go to nearest record. | |
| bool | seek (llong filepos) |
| Set position in file to reading/playing. | |
| int | pos () const |
| Get current record index (position record in file) | |
Public Member Functions inherited from PIIODevice | |
| PIIODevice () | |
| Constructs a empty PIIODevice. | |
| PIIODevice (const PIString &path, DeviceMode mode=ReadWrite) | |
| Constructs a PIIODevice with path and mode. More... | |
| DeviceMode | mode () const |
| Current open mode of device. | |
| void | setMode (DeviceMode m) |
| Set open mode of device. | |
| DeviceOptions | options () const |
| Current device options. | |
| bool | isOptionSet (DeviceOption o) const |
| Current device option "o" state. | |
| void | setOptions (DeviceOptions o) |
| Set device options. | |
| bool | setOption (DeviceOption o, bool yes=true) |
| Set device option "o" to "yes" and return previous state. | |
| DeviceInfoFlags | infoFlags () const |
| Returns device characteristic flags. | |
| PIString | path () const |
| Current path of device. | |
| void | setPath (const PIString &path) |
| Set path of device. | |
| bool | isReadable () const |
| Return true if mode is ReadOnly or ReadWrite. | |
| bool | isWriteable () const |
| Return true if mode is WriteOnly or ReadWrite. | |
| bool | isOpened () const |
| Return true if device is successfully opened. | |
| bool | isClosed () const |
| Return true if device is closed. | |
| virtual bool | canRead () const |
| Return true if device can read now. | |
| virtual bool | canWrite () const |
| Return true if device can write now. | |
| void | setReopenEnabled (bool yes=true) |
| Set execution of open enabled while threaded read on closed device. | |
| void | setReopenTimeout (int msecs) |
| Set timeout in milliseconds between open tryings if reopen is enabled. | |
| bool | isReopenEnabled () const |
| Return reopen enable. | |
| int | reopenTimeout () |
| Return reopen timeout. | |
| void | setThreadedReadSlot (ReadRetFunc func) |
| Set "threaded read slot". More... | |
| void | setThreadedReadData (void *d) |
| Set custom data that will be passed to "threaded read slot". | |
| void | setThreadedReadBufferSize (int new_size) |
| Set size of threaded read buffer. More... | |
| int | threadedReadBufferSize () const |
| Return size of threaded read buffer. | |
| const uchar * | threadedReadBuffer () const |
| Return content of threaded read buffer. | |
| void * | threadedReadData () const |
| Return custom data that will be passed to "threaded read slot". | |
| bool | isThreadedRead () const |
| Return true if threaded read is started. | |
| void | startThreadedRead () |
| Start threaded read. | |
| void | startThreadedRead (ReadRetFunc func) |
| Start threaded read and assign "threaded read slot" to "func". | |
| void | stopThreadedRead () |
| Stop threaded read. | |
| bool | isThreadedWrite () const |
| Return true if threaded write is started. | |
| void | startThreadedWrite () |
| Start threaded write. | |
| void | stopThreadedWrite () |
| Stop threaded write. | |
| void | clearThreadedWriteQueue () |
| Clear threaded write task queue. | |
| void | start () |
| Start both threaded read and threaded write. | |
| void | stop (bool wait=false) |
| Stop both threaded read and threaded write and if "wait" block until both threads are stop. | |
| int | read (void *read_to, int max_size) |
| Read from device maximum "max_size" bytes to "read_to". | |
| PIByteArray | read (int max_size) |
| Read from device maximum "max_size" bytes and return them as PIByteArray. | |
| int | write (const void *data, int max_size) |
| Write maximum "max_size" bytes of "data" to device. | |
| PIByteArray | readForTime (double timeout_ms) |
| Read from device for "timeout_ms" milliseconds and return readed data as PIByteArray. Timeout should to be greater than 0. | |
| ullong | writeThreaded (const void *data, int max_size) |
| Add task to threaded write queue and return task ID. | |
| ullong | writeThreaded (const PIByteArray &data) |
| Add task to threaded write queue and return task ID. | |
| bool | configure (const PIString &config_file, const PIString §ion, bool parent_section=false) |
| Configure device from section "section" of file "config_file", if "parent_section" parent section also will be read. | |
| PIString | constructFullPath () const |
| Reimplement to construct full unambiguous string, describes this device, default returns fullPathPrefix() + "://" + path() | |
| void | configureFromFullPath (const PIString &full_path) |
| Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing. | |
| bool | open () |
| Open device. | |
| bool | open (const PIString &_path) |
| Open device with path "path". | |
| bool | close () |
| Close device. | |
| int | write (PIByteArray data) |
| Write "data" to device. | |
| virtual void | flush () |
| Immediate write all buffers. | |
| void | opened () |
| Raise if succesfull open. | |
| void | closed () |
| Raise if succesfull close. | |
| void | threadedReadEvent (uchar *readed, int size) |
| Raise if read thread succesfull read some data. | |
| void | threadedWriteEvent (ullong id, int written_size) |
| Raise if write thread successfull write some data of task with ID "id". | |
Public Member Functions inherited from PIThread | |
| PIThread (void *data, ThreadFunc func, bool startNow=false, int loop_delay=-1) | |
| Contructs thread with custom data "data", external function "func" and main loop delay "loop_delay". | |
| PIThread (bool startNow=false, int loop_delay=-1) | |
| Contructs thread with main loop delay "loop_delay". | |
| void | setData (void *d) |
| Set common data passed to external function. | |
| void | setSlot (ThreadFunc func) |
| Set external function that will be executed after every run() | |
| void | setPriority (PIThread::Priority prior) |
| Set priority of thread. | |
| void * | data () const |
| Returns common data passed to external function. | |
| PIThread::Priority | priority () const |
| Return priority of thread. | |
| bool | isRunning () const |
Return true if thread is running. | |
| void | needLockRun (bool need) |
| Set necessity of lock every run with internal mutex. | |
| PIMutex & | mutex () |
| Returns internal mutex. | |
| llong | tid () const |
| Returns thread ID. | |
| bool | start (int timer_delay) |
| Start thread. More... | |
| bool | startOnce () |
| Start thread without internal loop. More... | |
| bool | startOnce (ThreadFunc func) |
| Start thread without internal loop. More... | |
| void | stop (bool wait) |
| Stop thread. More... | |
| void | terminate () |
| Strongly stop thread. More... | |
| bool | waitForStart (int timeout_msecs) |
| Wait for thread start. More... | |
| bool | waitForFinish (int timeout_msecs) |
| Wait for thread finish. More... | |
| void | lock () |
| Lock internal mutex. | |
| void | unlock () |
| Unlock internal mutex. | |
| void | started () |
| Raise on thread start. | |
| void | stopped () |
| Raise on thread stop. | |
Public Member Functions inherited from PIObject | |
| PIObject (const PIString &name=PIString()) | |
| Contructs PIObject with name "name". | |
| PIString | name () const |
| Returns object name. | |
| virtual const char * | className () const |
| Returns object class name. | |
| virtual const char * | parentClassName () const |
| Returns parent object class name. | |
| bool | debug () const |
| Return if debug of this object is active. | |
| void | setName (const PIString &name) |
| Set object name. | |
| void | setDebug (bool debug) |
| Set object debug active. | |
| const PIMap< PIString, PIVariant > & | properties () const |
| Returns properties of the object. | |
| int | propertiesCount () const |
| Returns properties count of the object. | |
| PIVariant | property (const PIString &name) const |
| Returns property with name "name". | |
| void | setProperty (const PIString &name, const PIVariant &value) |
| Set property with name "name" to "value". If there is no such property in object it will be added. | |
| bool | isPropertyExists (const PIString &name) const |
| Returns if property with name "name" exists. | |
Static Public Member Functions | |
| static BinLogInfo | getLogInfo (const PIString &path) |
| Get binlog info and statistic. | |
Static Public Member Functions inherited from PIIODevice | |
| static PIIODevice * | createFromFullPath (const PIString &full_path) |
| Try to determine suitable device, create new one, configure it with configureFromFullPath() and returns it. More... | |
Static Public Member Functions inherited from PIObject | |
| static void | piDisconnect (PIObject *src, const PIString &sig) |
| Disconnect object "src" from all connections with event name "sig". | |
| static void | piDisconnect (PIObject *src) |
| Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter. | |
| static PIObject * | findByName (const PIString &name) |
| Returns PIObject* with name "name" or 0, if there is no object found. | |
Public Attributes | |
| PIVector< int > | filterID |
| Array of ID, that BinLog can read from binlog file, when use read function, or in ThreadedRead. | |
Public Attributes inherited from PIIODevice | |
| bool | reopenEnabled |
| setReopenEnabled, default "true" | |
| int | reopenTimeout |
| setReopenTimeout in ms, default 1000 | |
| int | threadedReadBufferSize |
| setThreadedReadBufferSize in bytes, default 4096 | |
Protected Member Functions | |
| PIString | fullPathPrefix () const |
| Reimplement to construct full unambiguous string prefix. Creating devices by unambiguous string. | |
| PIString | constructFullPathDevice () const |
| Reimplement to construct full unambiguous string, describes this device. Default implementation returns path() | |
| void | configureFromFullPathDevice (const PIString &full_path) |
| Reimplement to configure your device with parameters of full unambiguous string. Default implementation does nothing. | |
| int | readDevice (void *read_to, int max_size) |
| Reimplement this function to read from your device. | |
| int | writeDevice (const void *data, int size) |
| Reimplement this function to write to your device. | |
| bool | openDevice () |
| Reimplement to open device, return value will be set to "opened_" variable; don't call this function in subclass, use open() | |
| bool | closeDevice () |
| Reimplement to close device, inverse return value will be set to "opened_" variable. | |
| void | propertyChanged (const PIString &) |
| Virtual function executes after property with name "name" has been changed. | |
| bool | threadedRead (uchar *readed, int size) |
| Function executed when thread read some data, default implementation execute external slot "ret_func_". | |
| DeviceInfoFlags | deviceInfoFlags () const |
| Reimplement to return correct DeviceInfoFlags. Default implementation returns 0. | |
Protected Member Functions inherited from PIIODevice | |
| virtual bool | init () |
| Function executed before first openDevice() or from constructor. | |
| virtual bool | configureDevice (const void *e_main, const void *e_parent=0) |
| Reimplement to configure device from entries "e_main" and "e_parent", cast arguments to PIConfig::Entry*. | |
| virtual void | optionsChanged () |
| Reimplement to apply new device options. | |
| virtual void | threadedReadBufferSizeChanged () |
| Reimplement to apply new threadedReadBufferSize() | |
Protected Member Functions inherited from PIObject | |
| PIObject * | emitter () const |
| Returns PIObject* which has raised an event. This value is correct only in definition of some event handler. | |
| void | deleted () |
| Raise before object delete. More... | |
Handlers | |
| PIString | createNewFile () |
| Create new binlog file in logDir, if successful returns filename, else returns empty string. Filename is like filePrefix + "yyyy_MM_dd__hh_mm_ss.binlog". | |
Events | |
| void | fileEnd () |
| Raise on file end while reading. | |
| void | fileError () |
| Raise on file creation error. | |
| void | newFile (const PIString &filename) |
| Raise on new file created. | |
Additional Inherited Members | |
Related Functions inherited from PIIODevice | |
| template<typename T > | |
| T | readDeviceSetting (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep) |
| Service function. useful for configuring devices. More... | |
| #define | REGISTER_DEVICE(class) |
| Use this macro to enable automatic creation instances of your class with createFromFullPath() function. | |
| #define | PIIODEVICE(class) |
| Use this macro instead of PIOBJECT when describe your own PIIODevice. | |
Related Functions inherited from PIObject | |
| #define | piCoutObj |
| Macro used for conditional (piDebug and PIObject::debug()) output to PICout for subclasses of PIObject. | |
| #define | PIOBJECT(name) |
| you should use this macro after class declaration to use EVENT and EVENT_HANDLER and correct piCoutObj output | |
| #define | PIOBJECT_SUBCLASS(name, parent) |
| you should use this macro after class declaration to use EVENT and EVENT_HANDLER of parent class, and scopeList() | |
| #define | EVENT_HANDLER0(ret, name) ret name() |
| declare event handler "event" with name "name" and return type "ret", ret name() | |
| #define | EVENT_HANDLER1(ret, name, type0, var0) ret name(type0 var0) |
| declare event handler "event" with name "name" and return type "ret", ret name(type0 var0) | |
| #define | EVENT_HANDLER2(ret, name, type0, var0, type1, var1) ret name(type0 var0, type1 var1) |
| declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1) | |
| #define | EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2) ret name(type0 var0, type1 var1, type2 var2) |
| declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2) | |
| #define | EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| declare event handler "event" with name "name" and return type "ret", ret name(type0 var0, type1 var1, type2 var2, type3 var3) | |
| #define | EVENT_HANDLER EVENT_HANDLER0 |
| EVENT_HANDLER is synonym of EVENT_HANDLER0. | |
| #define | EVENT_VHANDLER0(ret, name) virtual ret name() |
| declare virtual event handler "event" with name "name" and return type "ret", virtual ret name() | |
| #define | EVENT_VHANDLER1(ret, name, type0, var0) virtual ret name(type0 var0) |
| declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0) | |
| #define | EVENT_VHANDLER2(ret, name, type0, var0, type1, var1) virtual ret name(type0 var0, type1 var1) |
| declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1) | |
| #define | EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2) virtual ret name(type0 var0, type1 var1, type2 var2) |
| declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2) | |
| #define | EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| declare virtual event handler "event" with name "name" and return type "ret", virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) | |
| #define | EVENT_VHANDLER EVENT_VHANDLER0 |
| EVENT_VHANDLER is synonym of EVENT_VHANDLER0. | |
| #define | EVENT0(name) void name(); |
| declare event "event" with name "name", void name(); | |
| #define | EVENT1(name, type0, var0) void name(type0 var0); |
| declare event "event" with name "name", void name(type0 var0); | |
| #define | EVENT2(name, type0, var0, type1, var1) void name(type0 var0, type1 var1); |
| declare event "event" with name "name", void name(type0 var0, type1 var1); | |
| #define | EVENT3(name, type0, var0, type1, var1, type2, var2) void name(type0 var0, type1 var1, type2 var2); |
| declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2); | |
| #define | EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3) void name(type0 var0, type1 var1, type2 var2, type3 var3); |
| declare event "event" with name "name", void name(type0 var0, type1 var1, type2 var2, type3 var3); | |
| #define | EVENT EVENT0 |
| EVENT is synonym of EVENT0. | |
| #define | CONNECTU(src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler". "Event" and "handler" must has equal argument lists. | |
| #define | CONNECTU_QUEUED(src, event, dest, handler, performer) |
| connect event "event" from object "src" to event handler "handler". Event handler will be executed by "performer". "Event" and "handler" must has equal argument lists. | |
| #define | CONNECT0(ret, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists | |
| #define | CONNECT1(ret, type0, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists | |
| #define | CONNECT2(ret, type0, type1, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists | |
| #define | CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists | |
| #define | CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" with check of event and handler exists | |
| #define | CONNECT CONNECT0 |
| CONNECT is synonym of CONNECT0. | |
| #define | WEAK_CONNECT0(ret, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists | |
| #define | WEAK_CONNECT1(ret, type0, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists | |
| #define | WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists | |
| #define | WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists | |
| #define | WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| connect event "event" from object "src" to event handler "handler" with return type "ret" from object "dest" without check of event exists | |
| #define | WEAK_CONNECT WEAK_CONNECT0 |
| WEAK_CONNECT is synonym of WEAK_CONNECT0. | |
| #define | DISCONNECT0(ret, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT1(ret, type0, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT2(ret, type0, type1, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| piDisconnect event "event" from object "src" from event handler "handler" with return type "ret" from object "dest" | |
| #define | DISCONNECT DISCONNECT0 |
| DISCONNECT is synonym of DISCONNECT0. | |
| #define | HANDLER(handler) |
| Returns pointer to events handler "handler". | |
Class for read and write binary data to logfile, and playback this data in realtime, or custom speed.
TODO: Create static functions to join binlog files TODO: Create functions to insert and delete records
Binary Log is a file with simple header, where you can read and write some binary data. Any written data include special header with ID, size and timestamp. This header provides separation different messages from the one file by choosing different IDs. With filterID or special functions, like readBinLog() you can choose IDs what you want to read. With function writeBinLog() or setDefaultID() you can choose ID that mark you data. By default ID = 1, and filterID is empty, that mean you read any ID without filtering. ThreadedRead provide you playback data, with delay that you write data. You can choose different playbak modes by set PlayMode.
This class provide all functions of PIIODevice, such open(), close(), read() ,write(), and threaded read/write. function setLogDir() need to set directory for BinLog files function createNewFile() need to create new binlog file function restart() need start from the begining of binlog file
Play modes for PIBinaryLog.
| Enumerator | |
|---|---|
| PlayRealTime | Play in system realtime, default mode |
| PlayVariableSpeed | Play in software realtime with speed, set by setSpeed |
| PlayStaticDelay | Play with custom static delay, ignoring timestamp |
Different split modes for writing PIBinaryLog, which can separate files by size, by time or by records count.
| Enumerator | |
|---|---|
| SplitNone | Without separate, default mode |
| SplitTime | Separate files by record time |
| SplitSize | Separate files by size |
| SplitCount | Separate files by records count |
|
inline |
Set play speed to "speed", default value is 1.0x Also this function set playMode to PlayVariableSpeed
|
inline |
Setting static delay between records, default value is 1 sec Also this function set playMode to PlayStaticDelay
|
inline |
Set binlog file split time Also this function set splitMode to SplitTime
|
inline |
Set binlog file split size Also this function set splitMode to SplitSize
|
inline |
Set binlog file split records count Also this function set splitMode to SplitCount