|
rippled
|


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 &io_context, beast::Journal journal) | |
| ~ResolverAsioImpl () override | |
| void | asyncHandlersComplete () |
| void | start () override |
| Issue a synchronous start request. | |
| void | stop_async () 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 | do_stop (CompletionCounter) |
| void | do_finish (std::string name, boost::system::error_code const &ec, HandlerType handler, boost::asio::ip::tcp::resolver::results_type results, CompletionCounter) |
| HostAndPort | parseName (std::string const &str) |
| void | do_work (CompletionCounter) |
| void | do_resolve (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 std::unique_ptr< ResolverAsio > | New (boost::asio::io_context &, beast::Journal) |
Public Attributes | |
| beast::Journal | m_journal |
| boost::asio::io_context & | m_io_context |
| boost::asio::strand< boost::asio::io_context::executor_type > | m_strand |
| boost::asio::ip::tcp::resolver | m_resolver |
| std::condition_variable | m_cv |
| std::mutex | m_mut |
| bool | m_asyncHandlersCompleted |
| std::atomic< bool > | m_stop_called |
| std::atomic< bool > | m_stopped |
| std::deque< Work > | m_work |
Private Attributes | |
| std::atomic< int > | m_pending |
Definition at line 98 of file ResolverAsio.cpp.
Definition at line 101 of file ResolverAsio.cpp.
|
inherited |
Definition at line 13 of file Resolver.h.
| xrpl::ResolverAsioImpl::ResolverAsioImpl | ( | boost::asio::io_context & | io_context, |
| beast::Journal | journal | ||
| ) |
Definition at line 133 of file ResolverAsio.cpp.
|
override |
Definition at line 144 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::asyncHandlersComplete | ( | ) |
Definition at line 153 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous start request.
Implements xrpl::Resolver.
Definition at line 167 of file ResolverAsio.cpp.
|
overridevirtual |
Issue an asynchronous stop request.
Implements xrpl::Resolver.
Definition at line 183 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous stop request.
Implements xrpl::Resolver.
Definition at line 197 of file ResolverAsio.cpp.
|
overridevirtual |
Implements xrpl::Resolver.
Definition at line 209 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::do_stop | ( | CompletionCounter | ) |
Definition at line 225 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::do_finish | ( | std::string | name, |
| boost::system::error_code const & | ec, | ||
| HandlerType | handler, | ||
| boost::asio::ip::tcp::resolver::results_type | results, | ||
| CompletionCounter | |||
| ) |
Definition at line 239 of file ResolverAsio.cpp.
| HostAndPort xrpl::ResolverAsioImpl::parseName | ( | std::string const & | str | ) |
Definition at line 271 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::do_work | ( | CompletionCounter | ) |
Definition at line 316 of file ResolverAsio.cpp.
| void xrpl::ResolverAsioImpl::do_resolve | ( | std::vector< std::string > const & | names, |
| HandlerType const & | handler, | ||
| CompletionCounter | |||
| ) |
Definition at line 361 of file ResolverAsio.cpp.
|
staticinherited |
Definition at line 386 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 81 of file ResolverAsio.cpp.
|
inherited |
Definition at line 87 of file ResolverAsio.cpp.
| beast::Journal xrpl::ResolverAsioImpl::m_journal |
Definition at line 103 of file ResolverAsio.cpp.
| boost::asio::io_context& xrpl::ResolverAsioImpl::m_io_context |
Definition at line 105 of file ResolverAsio.cpp.
| boost::asio::strand<boost::asio::io_context::executor_type> xrpl::ResolverAsioImpl::m_strand |
Definition at line 106 of file ResolverAsio.cpp.
| boost::asio::ip::tcp::resolver xrpl::ResolverAsioImpl::m_resolver |
Definition at line 107 of file ResolverAsio.cpp.
| std::condition_variable xrpl::ResolverAsioImpl::m_cv |
Definition at line 109 of file ResolverAsio.cpp.
| std::mutex xrpl::ResolverAsioImpl::m_mut |
Definition at line 110 of file ResolverAsio.cpp.
| bool xrpl::ResolverAsioImpl::m_asyncHandlersCompleted |
Definition at line 111 of file ResolverAsio.cpp.
| std::atomic<bool> xrpl::ResolverAsioImpl::m_stop_called |
Definition at line 113 of file ResolverAsio.cpp.
| std::atomic<bool> xrpl::ResolverAsioImpl::m_stopped |
Definition at line 114 of file ResolverAsio.cpp.
| std::deque<Work> xrpl::ResolverAsioImpl::m_work |
Definition at line 131 of file ResolverAsio.cpp.
|
privateinherited |
Definition at line 95 of file ResolverAsio.cpp.