Commit Graph

166 Commits

Author SHA1 Message Date
Charl Wentzel
59facdf1bd Important Update:
- Ingore SIGPIPE event, ie. writing to socket after it closed
2016-06-01 06:58:48 +02:00
Charl Wentzel
1aa0d98b35 Important Update:
- Add bidirectional flag for AddInput/AddOutput methods on FunctionCore
2016-05-31 07:24:51 +02:00
Charl Wentzel
b4073a166a Major Update:
- Updated all Logged messages, standardised DebugLevel:
  - dlNone   - Show startup and stop
  - dlLow    - Show creation/destruction of Function Blocks and Local IO
  - dlMedium - Show connection events, eg. open/close
  - dlHigh   - Show data flow events
-LogCore:
  - LogMessage and ShowOutput uses va_list
    only run printf if DebugLevel correct
  - Remove global LogStr[] variable
- SelectableCore:
  - Implemented Auto-management of handles
    auto open on startup/fail/close
  - Changed simple Open/Close/Read/Write methods to inline
  - Do not set Select Write trigger for server socket
  - Memory leak, setting address twice on RemoteClient
  - Bug fix, only send handle out data if DebugLevel = dlHigh
  - Bug fix, do not Read/ProcessBuffer if no InputBuffer
2016-05-27 13:32:54 +02:00
Charl Wentzel
c01c8f5e9b Major Update:
- Implemented global var DebugLevel
- Update LogCore to check DebugLevel
- Added many log messages and standadised all log messages
- Further improved validation checks on all methods
- Updated SelectCore, only remove SelectHandle from list during Test()
- Close Handles in SelectableCore destructor
Bug fixes:
- Non-blocking Client Socket Connection now working correctly
- Remove FD from Select lists at the correct time
2016-05-26 15:03:13 +02:00
Charl Wentzel
9ace97c1a3 Major update:
- General bug fixes
- Implement search for multi-character marker search in BufferCore
  Replaced FindChar() method with FindStr() method
- Implemented LocalIO and LinkedIO in FunctionCore
- Connect LocalIO with FD in SelectableCore
- Implement Write buffer with Write Select in SelectableCore
- Improve validation checks in SelectableCore
- Use Handle ptr instead of Handle Names for Config methods
2016-05-25 14:17:40 +02:00
Charl Wentzel
e83c09ecb6 Important Update:
- Converted Select functions into new class CSelectCore
- Move Read/Write code from main() to SelectableCore Read()/Write()
- Pass CSelectCore object to CSelectableCore on create
- Updated SelectCore Read/Write lists directly from SelectableCore
- SelectCore->Test() checks all FDs directly and call Read/Write functions
- Improved checking/validating for methods in SelectableCore
2016-05-24 15:02:51 +02:00
Charl Wentzel
dcfbd85efa Major Update:
- Merged SelectCore and PortCore into new SelectableCore
  Single well integrated Class
- Rename SelectCore.h to SelectableCore.h
- Create new TFileHandle structure for Ports/Sockets
- Moved buffer and Input Timeout from FunctionCore to TFileHandle
- Moved Read, Write and ProcessBuffer from FunctionCore to TFileHandle
Bug Fixes:
- malloc correct size for names
- Calculate MaxFD correctly when closing FDs
2016-05-23 14:35:15 +02:00
Charl Wentzel
0d1c46ac53 Major update:
- Converted CSocketCore to Class/Object
- Implemented CFunctionCore as base class for CPortCore and CSocketCore
- Moved common functions to CFunctionCore and renamed
  eg. Maintain() -> Process()
- Pass Objects directly to each other as OutputFunction
- New Input() method allows data transfer between objects
2016-05-19 15:10:55 +02:00
Charl Wentzel
e222d51997 Important Update:
- Implement Terminate counter
  Exit immediately on multiple terminate signals
- Move global var Terminate to SignalCore
2016-05-19 09:47:32 +02:00
Charl Wentzel
5c7eb956a7 Bug fixes:
- Implement changes from CoreBuffer
- Do not update BufLen in WriteToFD()
2016-05-19 09:46:18 +02:00
Charl Wentzel
839c8a1432 Important Update:
- Improve parameter checking before function execution
- Rename functions:
  Get->Peek, ReadFD->ReadFromFD, WriteFD->WriteToFD
- Add StartPos param to Peek() & FindChar()
- Add ClearChar param for GetChar()
- Add default values for Position and Lengths
  Get, Set, Clear, Push, Peek, GetChar, FindChar
2016-05-19 07:44:28 +02:00
Charl Wentzel
c50766021a Important Update:
- Still testing
- Separate Rolling Buffer from PortCore to BufferCore
- Implement BufferCore in PortCore
- Add additional Rolling Buffer functions for future
2016-05-18 15:09:02 +02:00
Charl Wentzel
f987ea2224 Important Update:
- Added SignalCore for handling system signals
- Implemented LogMessages (only output to stdout, later to logfile)
- Updated #defines for all header files
2016-05-17 12:24:51 +02:00
Charl Wentzel
eb0ab67499 Minor Update:
- Complete LogCore functions
- Implement ShowOutput() in Port and Socket functions
2016-05-17 11:23:57 +02:00
Charl Wentzel
d7facce4de Major update:
- Convert PortCore functions into Class
Bug fixes:
  - Correctly handle socket close event (return false on read)
  - Only write to port/socket if valid file handle
2016-05-17 07:44:08 +02:00
Charl Wentzel
264169e525 Initial Commit:
- Create single library for all Core RedA functions/classes
- Working version
2016-05-17 07:38:33 +02:00