DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
Resolver.hpp
Go to the documentation of this file.
1
10#ifndef UTILITIES_INCLUDE_UTILITIES_RESOLVER_HPP_
11#define UTILITIES_INCLUDE_UTILITIES_RESOLVER_HPP_
12
13#include "logging/Logging.hpp"
14#include "utilities/Issues.hpp"
15
16#include <arpa/nameser.h>
17#include <netdb.h>
18#include <netinet/in.h>
19#include <resolv.h>
20#include <sys/types.h>
21
22#include <string>
23#include <vector>
24
25namespace dunedaq::utilities {
26
27std::vector<std::string>
28get_ips_from_hostname(std::string hostname);
29
30std::vector<std::string>
31resolve_uri_hostname(std::string connection_string);
32
33struct ZmqUri
34{
35 std::string scheme{ "" };
36 std::string host{ "" };
37 std::string port{ "" };
38 std::string to_string()
39 {
40 auto tmp = scheme + "://" + host;
41 if (port != "")
42 return tmp + ":" + port;
43 return tmp;
44 }
45
46 explicit ZmqUri(std::string connection_string);
47};
48
49} // namespace dunedaq::utilities
50
51#endif // UTILITIES_INCLUDE_UTILITIES_RESOLVER_HPP_
std::vector< std::string > get_ips_from_hostname(std::string hostname)
Definition Resolver.cpp:16
std::vector< std::string > resolve_uri_hostname(std::string connection_string)
Definition Resolver.cpp:58
ZmqUri(std::string connection_string)
Definition Resolver.cpp:75