diff --git a/CMakeLists.txt b/CMakeLists.txt index 558b952..68cb879 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,11 @@ add_library(whisper-com STATIC + include/DirectCommunicationServer.hpp + include/DirectCommunicationClient.hpp + + src/DirectCommunicationServer.cpp + src/DirectCommunicationClient.cpp ) diff --git a/include/DirectCommunicationClient.hpp b/include/DirectCommunicationClient.hpp new file mode 100644 index 0000000..7b9637e --- /dev/null +++ b/include/DirectCommunicationClient.hpp @@ -0,0 +1 @@ +#pragma once \ No newline at end of file diff --git a/include/DirectCommunicationServer.hpp b/include/DirectCommunicationServer.hpp new file mode 100644 index 0000000..b921c32 --- /dev/null +++ b/include/DirectCommunicationServer.hpp @@ -0,0 +1,49 @@ +#pragma once + + + + +#include "WHISPER/threadSafeQueue.hpp" +#include "zmq.hpp" +#include +#include +#include +#include +#include +#include +#include + + + +namespace DirectCommunication +{ + + class DirectCommunicationServer + { + public: + DirectCommunicationServer(ushort port); + ~DirectCommunicationServer(); + + void sendMessage(std::string msg); + std::unique_ptr getLatestMessage(); + + private: + ushort port_; + + zmq::context_t context_; + zmq::socket_t socket_; + + void worker_(); + std::thread Worker_; + std::atomic_bool stopWorker_; + + WHISPER::threadSafeQueue receivedMessages_; + std::vector connectedClients_; + + bool hasClient(std::uint32_t); + + + }; + + +} \ No newline at end of file diff --git a/src/DirectCommunicationClient.cpp b/src/DirectCommunicationClient.cpp new file mode 100644 index 0000000..8308dc1 --- /dev/null +++ b/src/DirectCommunicationClient.cpp @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/src/DirectCommunicationServer.cpp b/src/DirectCommunicationServer.cpp new file mode 100644 index 0000000..95521ba --- /dev/null +++ b/src/DirectCommunicationServer.cpp @@ -0,0 +1,50 @@ +#include "zmq.hpp" +#include +#include + + +namespace DirectCommunication +{ + DirectCommunicationServer::DirectCommunicationServer(ushort port):port_(port) + { + + context_ = zmq::context_t(1); + + socket_ = zmq::socket_t(context_,zmq::socket_type::server); + + + + + } + + + DirectCommunicationServer::~DirectCommunicationServer() + { + + } + + void DirectCommunicationServer::sendMessage(std::string msg) + { + + } + + std::unique_ptr DirectCommunicationServer::getLatestMessage() + { + + } + + void DirectCommunicationServer::worker_() + { + + + } + + + bool DirectCommunicationServer::hasClient(std::uint32_t) + { + + } + + + +} \ No newline at end of file