|
xrpld
|


Classes | |
| struct | Work |
Public Types | |
| using | HostAndPort = std::pair<std::string, std::string> |
| using | HandlerType = std::function<void(std::string, std::vector<beast::IP::Endpoint>)> |
Public Member Functions | |
| ResolverAsioImpl (boost::asio::io_context &ioContext, beast::Journal journal) | |
| ~ResolverAsioImpl () override | |
| void | asyncHandlersComplete () |
| void | start () override |
| Issue a synchronous start request. | |
| void | stopAsync () override |
| Issue an asynchronous stop request. | |
| void | stop () override |
| Issue a synchronous stop request. | |
| void | resolve (std::vector< std::string > const &names, HandlerType const &handler) override |
| void | doStop (CompletionCounter) |
| void | doFinish (std::string name, boost::system::error_code const &ec, HandlerType handler, boost::asio::ip::tcp::resolver::results_type results, CompletionCounter) |
| void | doWork (CompletionCounter) |
| void | doResolve (std::vector< std::string > const &names, HandlerType const &handler, CompletionCounter) |
| void | addReference () |
| void | removeReference () |
| template<class Handler> | |
| void | resolve (std::vector< std::string > const &names, Handler handler) |
| resolve all hostnames on the list | |
Static Public Member Functions | |
| static HostAndPort | parseName (std::string const &str) |
| static std::unique_ptr< ResolverAsio > | make (boost::asio::io_context &, beast::Journal) |
Public Attributes | |
| beast::Journal | journal |
| boost::asio::io_context & | ioContext |
| boost::asio::strand< boost::asio::io_context::executor_type > | strand |
| boost::asio::ip::tcp::resolver | resolver |
| std::condition_variable | cv |
| std::mutex | mut |
| bool | asyncHandlersCompleted {true} |
| std::atomic< bool > | stopCalled |
| std::atomic< bool > | stopped |
| std::deque< Work > | work |
Private Attributes | |
| std::atomic< int > | pending_ |
| friend | Derived |
Definition at line 104 of file ResolverAsio.cpp.
Definition at line 107 of file ResolverAsio.cpp.
|
inherited |
Definition at line 13 of file Resolver.h.
| xrpl::ResolverAsioImpl::ResolverAsioImpl | ( | boost::asio::io_context & | ioContext, |
| beast::Journal | journal ) |
Definition at line 139 of file ResolverAsio.cpp.
|
override |
Definition at line 149 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::asyncHandlersComplete | ( | ) |
Definition at line 158 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous start request.
Implements xrpl::Resolver.
Definition at line 172 of file ResolverAsio.cpp.
|
overridevirtual |
Issue an asynchronous stop request.
Implements xrpl::Resolver.
Definition at line 188 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous stop request.
Implements xrpl::Resolver.
Definition at line 202 of file ResolverAsio.cpp.
|
overridevirtual |
Implements xrpl::Resolver.
Definition at line 214 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::doStop | ( | CompletionCounter | ) |
Definition at line 232 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::doFinish | ( | std::string | name, |
| boost::system::error_code const & | ec, | ||
| HandlerType | handler, | ||
| boost::asio::ip::tcp::resolver::results_type | results, | ||
| CompletionCounter | ) |
Definition at line 246 of file ResolverAsio.cpp.
|
static |
Definition at line 279 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::doWork | ( | CompletionCounter | ) |
Definition at line 325 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::doResolve | ( | std::vector< std::string > const & | names, |
| HandlerType const & | handler, | ||
| CompletionCounter | ) |
Definition at line 370 of file ResolverAsio.cpp.
|
staticinherited |
Definition at line 396 of file ResolverAsio.cpp.
|
inherited |
resolve all hostnames on the list
| names | the names to be resolved |
| handler | the handler to call |
Definition at line 36 of file Resolver.h.
|
inherited |
Definition at line 85 of file ResolverAsio.cpp.
|
inherited |
Definition at line 91 of file ResolverAsio.cpp.
| beast::Journal xrpl::ResolverAsioImpl::journal |
Definition at line 109 of file ResolverAsio.cpp.
| boost::asio::io_context& xrpl::ResolverAsioImpl::ioContext |
Definition at line 111 of file ResolverAsio.cpp.
| boost::asio::strand<boost::asio::io_context::executor_type> xrpl::ResolverAsioImpl::strand |
Definition at line 112 of file ResolverAsio.cpp.
| boost::asio::ip::tcp::resolver xrpl::ResolverAsioImpl::resolver |
Definition at line 113 of file ResolverAsio.cpp.
| std::condition_variable xrpl::ResolverAsioImpl::cv |
Definition at line 115 of file ResolverAsio.cpp.
| std::mutex xrpl::ResolverAsioImpl::mut |
Definition at line 116 of file ResolverAsio.cpp.
| bool xrpl::ResolverAsioImpl::asyncHandlersCompleted {true} |
Definition at line 117 of file ResolverAsio.cpp.
| std::atomic<bool> xrpl::ResolverAsioImpl::stopCalled |
Definition at line 119 of file ResolverAsio.cpp.
| std::atomic<bool> xrpl::ResolverAsioImpl::stopped |
Definition at line 120 of file ResolverAsio.cpp.
| std::deque<Work> xrpl::ResolverAsioImpl::work |
Definition at line 137 of file ResolverAsio.cpp.
|
privateinherited |
Definition at line 99 of file ResolverAsio.cpp.
|
privateinherited |
Definition at line 101 of file ResolverAsio.cpp.