/* * SocketConnection.cpp * * Created on: Jun 13, 2018 * Author: Andreas Schneider, Johannes Wendel, Jonas Zeunert */ #include "SocketHandler.h" using Poco::Net::StreamSocket; using Poco::Net::TCPServerConnection; using flippR_driver::input::InputDriver; using flippR_driver::input::EventHandler; using flippR_driver::input::Event; namespace flippR_driver { namespace networking { namespace input { SocketHandler::SocketHandler(StreamSocket streamSocket, std::shared_ptr inputDriver) : TCPServerConnection(streamSocket), EventHandler(inputDriver) { } 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); } } } }