Program Listing for File DiscoveryManager.h¶
↰ Return to documentation for file (src/DiscoveryManager.h)
//
// Created by Aleksey Timin on 12/17/19.
//
#ifndef EIPSCANNER_DISCOVERYMANAGER_H
#define EIPSCANNER_DISCOVERYMANAGER_H
#include "IdentityObject.h"
namespace eipScanner {
struct IdentityItem {
using Vec = std::vector<IdentityItem>;
IdentityObject identityObject;
sockets::EndPoint socketAddress;
};
class DiscoveryManager {
public:
explicit DiscoveryManager(const std::string& broadCastAddress, int port, std::chrono::milliseconds receiveTimout);
virtual ~DiscoveryManager();
IdentityItem::Vec discover() const;
protected:
virtual sockets::BaseSocket::SPtr makeSocket() const;
private:
sockets::EndPoint _broadCastAddress;
std::chrono::milliseconds _receiveTimout;
};
}
#endif //EIPSCANNER_DISCOVERYMANAGER_H