- SelectableCore:
- Split handling of Handle from Input() to InputHandle() method
- Allow multiple handles to be connected to single Channel
- Update logs to report Handle, not Channel name
- TimingCore:
- Convert all functions to inline functions in header (remove .cpp file)
- Add new function TimeLeft()
- WatchdogCore:
- Bug fix: No watchdog channel, use InputHandle() method not Input()
- Bug fix: ping ignored, use To:"watchdog" in ping command
- Library Clean up:
- Removed all unused C/C++ libraries from source
- First C/C++ libraries then redA libraries
- Library changes:
- renamed BufferCore -> CharBufferCore
- added ItemBufferCore
- CharBufferCore:
- Derive RollingBuffer & ShiftBuffer from common class CharBuffer
- CharBuffer is mostly a virtual class (interface)
- Minor fix: Set correct names in comments at top of file
- New FileCore Class:
- Writing data to output file
- BufferCore:
- Check for "EAGAIN" on write and retry write
- FunctionCore:
- Add new Output method that references LocalIO directly
- SelectableCore:
- New method SetAutomanage to specify auto re-open parameters
- Re-open timer implemented to slow re-open events
- Only call ProcessBuffer() if data received on socket
- Force processing input data when no input marker set
- Use new Output method to simplify code
- Bug fix: Read correctly from buffer on multiple reads/writes on FD
- Check for "EAGAIN" on write to FD and retry write
- BufferCore:
- Added PeekCopy and PopCopy methods
- SelectableCore:
- Add status checking of Handle on Read and Write
- Reject input if Handle not open
- TimingCore:
- Added method ClearStartTime
- Added SignalCore for handling system signals
- Implemented LogMessages (only output to stdout, later to logfile)
- Updated #defines for all header files