Added options to server application and did some stuff for the application

This commit is contained in:
Johannes Wendel
2019-06-14 19:26:10 +02:00
parent 6e6e37d3e0
commit 3af4919a11
7 changed files with 270 additions and 50 deletions

View File

@@ -5,7 +5,7 @@
* Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert
*/
#include "SocketHandler.h"
#include "InputSocketHandler.h"
using Poco::Net::StreamSocket;
@@ -21,16 +21,14 @@ namespace networking
namespace input
{
SocketHandler::SocketHandler(StreamSocket streamSocket, std::shared_ptr<InputDriver> inputDriver) :
InputSocketHandler::InputSocketHandler(StreamSocket streamSocket, std::shared_ptr<InputDriver> inputDriver) :
TCPServerConnection(streamSocket),
EventHandler(inputDriver)
{
}
void SocketHandler::run()
void InputSocketHandler::run()
{
StreamSocket& streamSocket = socket(); // todo ?
while(true)
{
Event event = this->queue->pop();
@@ -42,11 +40,11 @@ void SocketHandler::run()
std::string str = event.getJsonString();
streamSocket.sendBytes(str.c_str(), str.length());
this->socket().sendBytes(str.c_str(), str.length());
}
}
void SocketHandler::handle(Event &event)
void InputSocketHandler::handle(Event &event)
{
this->queue->push(event);
}

View File

@@ -22,16 +22,17 @@ namespace networking
{
namespace input
{
class SocketHandler : public Poco::Net::TCPServerConnection, flippR_driver::input::EventHandler
class InputSocketHandler : public Poco::Net::TCPServerConnection, flippR_driver::input::EventHandler
{
public:
SocketHandler(Poco::Net::StreamSocket streamSocket, std::shared_ptr<flippR_driver::input::InputDriver> input_driver);
InputSocketHandler(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:
flippR_driver::utility::IBlockingQueue<flippR_driver::input::Event>* queue;
utility::IBlockingQueue<flippR_driver::input::Event>* queue;
};
}