implemented local client join functionality
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
|
||||
#include "WHISPER/whisper.hpp"
|
||||
#include <cstdint>
|
||||
#include <list>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#define ZMQ_BUILD_DRAFT_API 1
|
||||
#include <zmq.hpp>
|
||||
@@ -11,17 +13,31 @@
|
||||
|
||||
namespace WHISPER {
|
||||
|
||||
|
||||
struct localClient{
|
||||
short port;
|
||||
zmq::socket_t clientSocket;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class InternalUDPService : public whispercomm {
|
||||
|
||||
|
||||
private:
|
||||
std::string address_;
|
||||
std::string destinationAdress_;
|
||||
std::string myAdress_;
|
||||
std::uint16_t port_;
|
||||
std::uint16_t ownReceivingPort_;
|
||||
|
||||
zmq::context_t ctx;
|
||||
zmq::socket_t sender;
|
||||
std::shared_ptr<zmq::socket_t> receiver;
|
||||
std::shared_ptr<zmq::socket_t> receiver = nullptr;
|
||||
std::shared_ptr<zmq::socket_t> loopbackSocket = nullptr;
|
||||
|
||||
std::vector<std::shared_ptr<localClient>> localclients;
|
||||
|
||||
std::uint16_t checkPort(std::uint16_t port);
|
||||
|
||||
@@ -32,9 +48,12 @@ namespace WHISPER {
|
||||
void derivedSubscribe(std::string topic) override;
|
||||
void derivedUnsubscribe(std::string topic) override;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public:
|
||||
InternalUDPService(std::uint32_t id, SourceType owndevicetype,std::uint16_t port, std::string address);
|
||||
InternalUDPService(std::uint32_t id, SourceType owndevicetype,std::uint16_t port, std::string destinationAdress, std::string myAdress);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user