TCP Server refactoring #488

Closed
muellerr wants to merge 16 commits from eive:mueller/tcp-keep-open-pr into development

16 Commits

Author SHA1 Message Date
Robin Müller 1cdf219ad9 Merge branch 'development' into mueller/tcp-keep-open-pr 2021-10-05 18:27:30 +02:00
Robin Müller 198fdbba62 Merge remote-tracking branch 'upstream/development' into mueller/tcp-keep-open-pr 2021-10-04 14:41:51 +02:00
Robin Müller 0df5491193 Merge branch 'development' into mueller/tcp-keep-open-pr 2021-09-29 16:16:26 +02:00
Robin Müller 0a6a32a130
printout separation 2021-09-29 11:45:20 +02:00
Robin Müller cffd77ed32
put functions in namespace 2021-09-28 17:42:29 +02:00
Robin Müller b1a9c90087 this should work for both OSes 2021-09-28 17:39:07 +02:00
Robin Müller a619087fef
Merge remote-tracking branch 'upstream/mueller/tcp-windows-fixes' into mueller/tcp-keep-open-pr 2021-09-28 17:35:07 +02:00
Robin Müller 32b5060c62 all windows fixes 2021-09-28 17:28:54 +02:00
Robin Müller 936bac5abd
class id renamed 2021-09-28 16:33:50 +02:00
Robin Müller bf02f14772 C++11 adaptions 2021-09-28 16:33:20 +02:00
Robin Müller 1622e23f1c delay configurable 2021-09-28 15:33:31 +02:00
Robin Müller a4d6421510
documentation and bugfixes 2021-09-28 15:30:01 +02:00
Robin Müller f02852d8d2
cmake lists file update 2021-09-28 15:13:46 +02:00
Robin Müller bbea5e33bc removed obsolete empty ctor 2021-09-28 15:12:55 +02:00
Robin Müller e536918804
wiretapping in runtime config now 2021-09-28 15:09:56 +02:00
Robin Müller 09299802f0
TCP refactoring
This refactoring keeps the TCP connection opened until the client closes
it. It also increased the robustness of the TCP reception.

Because TCP is stream based and usually applied to newline separated
data, a special way to handle binary space packets is required.

The new SpacePacketParser class takes care of this by taking TC packet
IDs as as optional start markers to parse for space packets in a given
buffer.

The refactored TCP server uses a ring buffer, a reception buffer and the
new parser to extract space packets from a stream in a safer way.
2021-09-28 15:01:01 +02:00