Files
rippled/include/xrpl/basics/Resolver.h
Bart 34ef577604 refactor: Replace include guards by '#pragma once' (#6322)
This change replaces all include guards in the `src/` and `include/` directories by `#pragma once`.
2026-02-04 09:50:21 -05:00

47 lines
965 B
C++

#pragma once
#include <xrpl/beast/net/IPEndpoint.h>
#include <functional>
#include <vector>
namespace xrpl {
class Resolver
{
public:
using HandlerType = std::function<void(std::string, std::vector<beast::IP::Endpoint>)>;
virtual ~Resolver() = 0;
/** Issue an asynchronous stop request. */
virtual void
stop_async() = 0;
/** Issue a synchronous stop request. */
virtual void
stop() = 0;
/** Issue a synchronous start request. */
virtual void
start() = 0;
/** resolve all hostnames on the list
@param names the names to be resolved
@param handler the handler to call
*/
/** @{ */
template <class Handler>
void
resolve(std::vector<std::string> const& names, Handler handler)
{
resolve(names, HandlerType(handler));
}
virtual void
resolve(std::vector<std::string> const& names, HandlerType const& handler) = 0;
/** @} */
};
} // namespace xrpl