Conscience Core
UdpServer.h
Go to the documentation of this file.
1 #ifndef UdpServer_H
2 #define UdpServer_H
3 
4 #include "AsioContext.h"
5 #include "CscCommon.h"
6 #include <thread>
7 #include <mutex>
8 
9 using std::thread, std::mutex;
10 
12 typedef unsigned char BYTE;
13 
14 class UdpServerRuntimeError : public runtime_error {
15 public:
16  UdpServerRuntimeError(const string &message) : runtime_error(message.c_str()) {}
17 };
18 
20  vector<unsigned char> bytes;
22  unsigned int remotePort;
23 };
24 
25 class UdpServer {
26 public:
27  UdpServer(unsigned int port, function<void(UdpReceiveResponse)> onData);
28  ~UdpServer();
29 
30  unsigned int getPort();
31 
32 private:
33  unsigned int port;
34  function<void(UdpReceiveResponse)> onData;
35 
36  class SocketData;
37  SocketData *socketData = nullptr;
38 
39  AsioContext *asioContext = nullptr;
40 
41  vector<unsigned char> receiveBuffer;
42 
43  unique_ptr<CscLogger> logger;
44 
45  void receive();
46 };
47 
48 }
49 #endif
conscience_core::communication::BYTE
unsigned char BYTE
Definition: UdpClient.h:9
conscience_core::communication::AsioContext
Definition: AsioContext.h:20
conscience_core::communication::UdpReceiveResponse::remotePort
unsigned int remotePort
Definition: UdpServer.h:22
AsioContext.h
logger
static std::unique_ptr< CscLogger > logger
Definition: gltfHelpers.cpp:6
conscience_core::communication::UdpReceiveResponse
Definition: UdpServer.h:19
conscience_core::communication::UdpServer::UdpServer
UdpServer(unsigned int port, function< void(UdpReceiveResponse)> onData)
Definition: UdpServer.cpp:22
conscience_core::communication::UdpReceiveResponse::bytes
vector< unsigned char > bytes
Definition: UdpServer.h:20
nlohmann::detail::void
j template void())
Definition: json.hpp:4189
conscience_core::communication::UdpServer
Definition: UdpServer.h:25
CscCommon.h
conscience_core::communication::UdpReceiveResponse::remoteIpAddress
string remoteIpAddress
Definition: UdpServer.h:21
conscience_core::communication::UdpServer::getPort
unsigned int getPort()
Definition: UdpServer.cpp:88
conscience_core::communication::UdpServer::SocketData
Definition: UdpServer.cpp:9
conscience_core::communication
Definition: CscEntityClient.h:6
conscience_core::communication::UdpServerRuntimeError
Definition: UdpServer.h:14
conscience_core::communication::UdpServerRuntimeError::UdpServerRuntimeError
UdpServerRuntimeError(const string &message)
Definition: UdpServer.h:16
conscience_core::communication::UdpServer::~UdpServer
~UdpServer()
Definition: UdpServer.cpp:45