wrote socket handler

This commit is contained in:
Johannes Wendel
2019-04-25 21:33:55 +02:00
parent 7a87cf5661
commit 30ab854db6
8 changed files with 260 additions and 296 deletions

391
.idea/workspace.xml generated
View File

@@ -12,24 +12,13 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e02dc5d7-dead-448e-976e-72d458e813a0" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.cpp" afterDir="false" />
<change afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/codeStyles/codeStyleConfig.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/codeStyles/codeStyleConfig.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.h" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/DependInfo.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/build.make" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/cmake_clean.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/cmake_clean.cmake" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/link.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/progress.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/flippr_code.dir/progress.make" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/progress.marks" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cmake-build-debug/flippr_code.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/flippr_code.cbp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/include/input/Event.h" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/include/input/Event.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/input/Event.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/input/Event.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/cmake-build-debug/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -42,28 +31,31 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="38" />
<state relative-caret-position="105">
<caret line="7" column="26" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.cpp">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/include/input/Event.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
<state relative-caret-position="195">
<caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.h">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/Event.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="38" lean-forward="true" selection-start-line="38" selection-end-line="38" />
<state relative-caret-position="373">
<caret line="28" column="20" selection-start-line="28" selection-start-column="20" selection-end-line="28" selection-end-column="20" />
<folding>
<element signature="e#118#142#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -71,42 +63,25 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<caret line="29" column="30" selection-start-line="29" selection-start-column="30" selection-end-line="29" selection-end-column="30" />
<folding>
<element signature="e#130#161#0" expanded="true" />
</folding>
<state relative-caret-position="225">
<caret line="15" column="32" selection-start-line="15" selection-start-column="32" selection-end-line="15" selection-end-column="32" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/BlockingQueue.hpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="19" selection-start-line="19" selection-end-line="19" />
<state relative-caret-position="299">
<caret line="41" column="6" lean-forward="true" selection-start-line="41" selection-start-column="6" selection-end-line="41" selection-end-column="6" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" column="23" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="23" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/output/OutputSocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor" />
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file:///tmp/mozilla_johannes0/TCPServerTest.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="735">
<state relative-caret-position="15">
<caret line="49" column="33" selection-start-line="49" selection-start-column="33" selection-end-line="50" selection-end-column="30" />
</state>
</provider>
@@ -129,9 +104,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/OutputSocketHandler.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/CMakeLists.txt" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/OutputSocketConnection.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/InputSocketConnection.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/InputSocketHandler.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/SolenoidRequestHandler.h" />
@@ -172,17 +144,21 @@
<option value="$PROJECT_DIR$/FlippR-Driver/src/output/detail/DisplayController.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/tests/output/TestOutputItem.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/InputSocketConnection.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/tests/catch.hpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/TcpServer.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/include/input/Event.h" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp" />
<option value="$PROJECT_DIR$/FlippR-Driver/src/input/Event.cpp" />
</list>
</option>
</component>
<component name="OCFindUsagesOptions" text="true" ivars="false" properties="true" derivedClasses="false" />
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="23" />
<option name="width" value="882" />
@@ -243,6 +219,14 @@
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="input" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="flippr_code" type="b2602c69:ProjectViewProjectNode" />
<item name="flippr-code" type="462c0819:PsiDirectoryNode" />
<item name="FlippR-Driver" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="input" type="462c0819:PsiDirectoryNode" />
<item name="detail" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="flippr_code" type="b2602c69:ProjectViewProjectNode" />
<item name="flippr-code" type="462c0819:PsiDirectoryNode" />
@@ -374,12 +358,12 @@
<workItem from="1556134690177" duration="5123000" />
<workItem from="1556187501636" duration="4257000" />
<workItem from="1556211614557" duration="1716000" />
<workItem from="1556213821558" duration="125000" />
<workItem from="1556213821558" duration="6107000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="52386000" />
<option name="totallyTimeSpent" value="58368000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@@ -394,11 +378,11 @@
<frame x="0" y="0" width="1920" height="1058" extended-state="6" />
<editor active="true" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.26947704" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.26947704" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Find" order="1" weight="0.329582" />
<window_info active="true" anchor="bottom" id="Find" order="1" visible="true" weight="0.32903227" />
<window_info anchor="bottom" id="Run" order="2" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
@@ -442,76 +426,6 @@
<option name="version" value="1" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/output/detail/DisplayController.cpp">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#130#160#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/output/detail/DriverBoardPinController.cpp">
<provider selected="true" editor-type-id="text-editor">
<state>
<folding>
<element signature="e#43#80#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/output/detail/DriverBoardPinController.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="104">
<caret line="7" column="14" selection-start-line="7" selection-start-column="14" selection-end-line="8" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/output/detail/OutputDriver.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="118">
<caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/output/detail/OutputDriver.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="37" selection-start-line="7" selection-start-column="37" selection-end-line="8" selection-end-column="41" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/include/Poco/Net/HTTPServerParams.h">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-column="2" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/output/OutputHTTPServer.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" selection-start-line="9" selection-end-line="9" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/include/Poco/Net/Socket.h">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/PinController.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180">
<caret line="12" column="10" selection-start-line="12" selection-start-column="10" selection-end-line="12" selection-end-column="10" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/output/OutputRequestHandlerFactory.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="210">
@@ -570,20 +484,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/include/input/EventHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="17" column="6" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventNotifier.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="17" column="21" selection-start-line="17" selection-start-column="16" selection-end-line="17" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/Detector.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-215" />
@@ -592,13 +492,6 @@
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/EventNotifier.h">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="28" column="42" selection-start-line="28" selection-start-column="42" selection-end-line="28" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/tests/input/TestEventNotifier.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
@@ -639,13 +532,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/include/input/Event.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="17" column="6" selection-start-line="17" selection-start-column="6" selection-end-line="17" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/tests/input/TestInputDriver.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="665">
@@ -663,13 +549,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/InputDriver.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="18" selection-start-line="9" selection-start-column="18" selection-end-line="9" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/tests/main.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
@@ -1227,58 +1106,162 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="19" selection-start-line="19" selection-end-line="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/output/OutputSocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file:///tmp/mozilla_johannes0/TCPServerTest.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="735">
<caret line="49" column="33" selection-start-line="49" selection-start-column="33" selection-end-line="50" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="1" column="23" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="435">
<caret line="29" column="30" selection-start-line="29" selection-start-column="30" selection-end-line="29" selection-end-column="30" />
<folding>
<element signature="e#130#161#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnection.h">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.cpp">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
<state>
<caret selection-end-line="10" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketConnect.h">
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/DistributingEvent.cpp">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/DistributingEvent.h">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="540">
<caret line="38" lean-forward="true" selection-start-line="38" selection-end-line="38" />
<state relative-caret-position="405">
<caret line="30" column="43" selection-start-line="30" selection-start-column="43" selection-end-line="30" selection-end-column="43" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="19" selection-start-line="19" selection-end-line="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/InputDriver.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="135">
<caret line="9" column="18" selection-start-line="9" selection-start-column="18" selection-end-line="9" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/output/OutputSocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" selection-start-line="5" selection-end-line="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="375">
<caret line="28" column="42" selection-start-line="28" selection-start-column="42" selection-end-line="28" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="16" column="68" lean-forward="true" selection-start-line="16" selection-start-column="27" selection-end-line="16" selection-end-column="68" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/include/input/EventHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/IBlockingQueue.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="6" selection-start-line="15" selection-start-column="6" selection-end-line="15" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/BlockingQueue.hpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="299">
<caret line="41" column="6" lean-forward="true" selection-start-line="41" selection-start-column="6" selection-end-line="41" selection-end-column="6" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventNotifier.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="279">
<caret line="43" column="7" selection-start-line="43" selection-start-column="7" selection-end-line="43" selection-end-column="7" />
<folding>
<element signature="e#203#217#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/detail/EventNotifier.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="915">
<caret line="65" column="27" lean-forward="true" selection-start-line="65" selection-start-column="27" selection-end-line="65" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/include/Poco/Net/SocketDefs.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180">
<caret line="361" column="20" selection-start-line="361" selection-start-column="20" selection-end-line="361" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/include/Poco/Net/StreamSocket.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="198">
<caret line="132" column="30" selection-start-line="132" selection-start-column="30" selection-end-line="132" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file:///usr/local/include/Poco/FIFOBuffer.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="849">
<caret line="543" column="30" selection-start-line="543" selection-start-column="30" selection-end-line="543" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file:///tmp/mozilla_johannes0/TCPServerTest.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="15">
<caret line="49" column="33" selection-start-line="49" selection-start-column="33" selection-end-line="50" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="26" selection-start-line="7" selection-start-column="26" selection-end-line="7" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/utility/networking/input/SocketHandler.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="225">
<caret line="15" column="32" selection-start-line="15" selection-start-column="32" selection-end-line="15" selection-end-column="32" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/include/input/Event.h">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="195">
<caret line="21" column="30" selection-start-line="21" selection-start-column="30" selection-end-line="21" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FlippR-Driver/src/input/Event.cpp">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="373">
<caret line="28" column="20" selection-start-line="28" selection-start-column="20" selection-end-line="28" selection-end-column="20" />
<folding>
<element signature="e#118#142#0" expanded="true" />
</folding>
</state>
</provider>
</entry>

View File

@@ -197,4 +197,4 @@ add_executable(flippr_code
FlippR-Driver/tests/catch.hpp
FlippR-Driver/tests/fakeit.hpp
FlippR-Driver/tests/main.cpp
FlippR-Driver/CMakeLists.txt FlippR-Driver/src/utility/networking/output/OutputRequestHandler.cpp FlippR-Driver/src/utility/networking/output/OutputRequestHandler.h FlippR-Driver/src/utility/networking/output/OutputRequestHandlerFactory.cpp FlippR-Driver/src/utility/networking/output/OutputRequestHandlerFactory.h FlippR-Driver/src/utility/networking/output/OutputHTTPServer.cpp FlippR-Driver/src/utility/networking/output/OutputHTTPServer.h FlippR-Driver/src/utility/networking/input/TcpServer.cpp FlippR-Driver/src/utility/networking/input/TcpServer.h FlippR-Driver/src/utility/networking/input/SocketConnection.cpp FlippR-Driver/src/utility/networking/input/SocketConnection.h)
FlippR-Driver/CMakeLists.txt FlippR-Driver/src/utility/networking/output/OutputRequestHandler.cpp FlippR-Driver/src/utility/networking/output/OutputRequestHandler.h FlippR-Driver/src/utility/networking/output/OutputRequestHandlerFactory.cpp FlippR-Driver/src/utility/networking/output/OutputRequestHandlerFactory.h FlippR-Driver/src/utility/networking/output/OutputHTTPServer.cpp FlippR-Driver/src/utility/networking/output/OutputHTTPServer.h FlippR-Driver/src/utility/networking/input/TcpServer.cpp FlippR-Driver/src/utility/networking/input/TcpServer.h FlippR-Driver/src/utility/networking/input/SocketHandler.cpp FlippR-Driver/src/utility/networking/input/SocketHandler.h)

View File

@@ -19,6 +19,8 @@ class Event {
public:
Event(uint8_t address, int priority, std::string name);
std::string getJsonString();
friend bool operator==(const Event &left, const Event &right);
friend bool operator<(const Event &left, const Event &right) {

View File

@@ -6,6 +6,8 @@
*/
#include "input/Event.h"
#include <Poco/JSON/Object.h>
#include "utility/config.h"
namespace flippR_driver
@@ -19,6 +21,17 @@ Event::Event(uint8_t address, int priority, std::string name) :
CLOG_IF(VLOG_IS_ON(0), INFO, INPUT_LOGGER) << "Created event: " << name << ", address: " << address;
}
std::string Event::getJsonString()
{
Poco::JSON::Object json;
json.set("name", this->name);
json.set("address", this->address);
json.set("priority", this->priority);
std::stringstream stringstream;
json.stringify(stringstream);
}
bool operator==(const Event& left, const Event& right)
{
return left.name == right.name;

View File

@@ -1,11 +0,0 @@
/*
* SocketConnection.cpp
*
* Created on: Jun 13, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#include "SocketConnection.h"
using Poco::Net::StreamSocket;

View File

@@ -1,38 +0,0 @@
/*
* SocketConnection.h
*
* Created on: Jun 13, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#ifndef FLIPPR_CODE_INPUTSOCKETCONNECTION_H
#define FLIPPR_CODE_INPUTSOCKETCONNECTION_H
#include <Poco/Net/TCPServerConnection.h>
#include "Event.h"
namespace flippR_driver
{
namespace utility
{
namespace networking
{
namespace input
{
class SocketConnection : public Poco::Net::TCPServerConnection
{
public:
SocketConnection(Poco::Net::StreamSocket streamSocket);
void run();
void sendEvent(flippR_driver::input::Event event);
};
}
}
}
}
#endif //FLIPPR_CODE_INPUTSOCKETCONNECTION_H

View File

@@ -1,12 +1,18 @@
//
// Created by rhetenor on 27.11.18.
//
/*
* SocketConnection.cpp
*
* Created on: Jun 13, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#include "SocketHandler.h"
#include <boost/date_time/posix_time/posix_time.hpp>
#include "json/json.hpp"
using Poco::Net::StreamSocket;
using Poco::Net::TCPServerConnection;
using flippR_driver::input::InputDriver;
using flippR_driver::input::detail::EventHandler;
using flippR_driver::input::Event;
namespace flippR_driver
{
@@ -16,32 +22,36 @@ namespace networking
{
namespace input
{
using namespace nlohmann;
InputSocketHandler::InputSocketHandler ()
{}
void InputSocketHandler::handle (flippR_driver::input::Event &event)
SocketHandler::SocketHandler(StreamSocket streamSocket, std::shared_ptr<InputDriver> inputDriver) :
TCPServerConnection(streamSocket),
EventHandler(inputDriver)
{
json event_serialization = serialize_event (event);
// write_to_socket(event_serialization);
}
//json InputSocketHandler::serialize_event(input::Event &event)
//{
// json serialized_event = json("event");
//
// serialized_event["name"] = event.name;
//
// std::time_t activation_time = std::chrono::system_clock::to_time_t(event.last_activation);
// boost::posix_time::ptime posix_time = boost::posix_time::from_time_t(activation_time);
// serialized_event["activation_time"] = boost::posix_time::to_simple_string(posix_time); // todo learn to write time right
//
// serialized_event["priority"] = event.priority;
//
// return serialized_event;
//}
void SocketHandler::run()
{
StreamSocket& streamSocket = socket();
while(true)
{
Event event = this->queue.pop();
if(event.name == "END")
{
return;
}
std::string str = event.getJsonString();
streamSocket.sendBytes(str.c_str(), str.length());
}
}
void SocketHandler::handle(Event &event)
{
this->queue.push(event);
}
}
}

View File

@@ -1,15 +1,20 @@
//
// Created by rhetenor on 27.11.18.
//
/*
* SocketConnection.h
*
* Created on: Jun 13, 2018
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#ifndef FLIPPR_DRIVER_INPUTSOCKETHANDLER_H
#define FLIPPR_DRIVER_INPUTSOCKETHANDLER_H
#ifndef FLIPPR_CODE_INPUTSOCKETCONNECTION_H
#define FLIPPR_CODE_INPUTSOCKETCONNECTION_H
#include "input/EventHandler.h"
#include <Poco/JSON/JSON.h>
#include <Poco/Net/TCPServerConnection.h>
#include <string>
#include "BlockingQueue.hpp"
#include "InputDriver.h"
#include "detail/EventHandler.h"
#include "Event.h"
namespace flippR_driver
{
@@ -19,16 +24,16 @@ namespace networking
{
namespace input
{
class InputSocketHandler : public flippR_driver::input::EventHandler
class SocketHandler : public Poco::Net::TCPServerConnection, flippR_driver::input::detail::EventHandler
{
public:
InputSocketHandler ();
SocketHandler(Poco::Net::StreamSocket streamSocket, std::shared_ptr<flippR_driver::input::InputDriver> input_driver);
void run() override;
void handle(flippR_driver::input::Event &event) override;
private:
std::string serialize_event (flippR_driver::input::Event &event);
flippR_driver::utility::BlockingQueue<flippR_driver::input::Event> queue;
};
}
@@ -36,4 +41,4 @@ private:
}
}
#endif //FLIPPR_DRIVER_INPUTSOCKETHANDLER_H
#endif //FLIPPR_CODE_INPUTSOCKETCONNECTION_H