Files
rippled/include/xrpl/basics/Resolver.h
Ayaz Salikhov 5f638f5553 chore: Set ColumnLimit to 120 in clang-format (#6288)
This change updates the ColumnLimit from 80 to 120, and applies clang-format to reformat the code.
2026-01-28 18:09:50 +00:00

50 lines
1.0 KiB
C++

#ifndef XRPL_BASICS_RESOLVER_H_INCLUDED
#define XRPL_BASICS_RESOLVER_H_INCLUDED
#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
#endif