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_service &io_service, beast::Journal journal) | |
~ResolverAsioImpl () override | |
void | asyncHandlersComplete () |
void | start () override |
Issue a synchronous start request. More... | |
void | stop_async () override |
Issue an asynchronous stop request. More... | |
void | stop () override |
Issue a synchronous stop request. More... | |
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::iterator iter, 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 More... | |
Static Public Member Functions | |
static std::unique_ptr< ResolverAsio > | New (boost::asio::io_service &, beast::Journal) |
Public Attributes | |
beast::Journal | m_journal |
boost::asio::io_service & | m_io_service |
boost::asio::io_service::strand | 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 103 of file ResolverAsio.cpp.
Definition at line 107 of file ResolverAsio.cpp.
|
inherited |
Definition at line 34 of file Resolver.h.
ripple::ResolverAsioImpl::ResolverAsioImpl | ( | boost::asio::io_service & | io_service, |
beast::Journal | journal | ||
) |
Definition at line 141 of file ResolverAsio.cpp.
|
override |
Definition at line 154 of file ResolverAsio.cpp.
void ripple::ResolverAsioImpl::asyncHandlersComplete | ( | ) |
Definition at line 163 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous start request.
Implements ripple::Resolver.
Definition at line 177 of file ResolverAsio.cpp.
|
overridevirtual |
Issue an asynchronous stop request.
Implements ripple::Resolver.
Definition at line 193 of file ResolverAsio.cpp.
|
overridevirtual |
Issue a synchronous stop request.
Implements ripple::Resolver.
Definition at line 205 of file ResolverAsio.cpp.
|
overridevirtual |
Implements ripple::Resolver.
Definition at line 217 of file ResolverAsio.cpp.
void ripple::ResolverAsioImpl::do_stop | ( | CompletionCounter | ) |
Definition at line 235 of file ResolverAsio.cpp.
void ripple::ResolverAsioImpl::do_finish | ( | std::string | name, |
boost::system::error_code const & | ec, | ||
HandlerType | handler, | ||
boost::asio::ip::tcp::resolver::iterator | iter, | ||
CompletionCounter | |||
) |
Definition at line 249 of file ResolverAsio.cpp.
HostAndPort ripple::ResolverAsioImpl::parseName | ( | std::string const & | str | ) |
Definition at line 280 of file ResolverAsio.cpp.
void ripple::ResolverAsioImpl::do_work | ( | CompletionCounter | ) |
Definition at line 333 of file ResolverAsio.cpp.
void ripple::ResolverAsioImpl::do_resolve | ( | std::vector< std::string > const & | names, |
HandlerType const & | handler, | ||
CompletionCounter | |||
) |
Definition at line 377 of file ResolverAsio.cpp.
|
staticinherited |
Definition at line 406 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 57 of file Resolver.h.
|
inherited |
Definition at line 86 of file ResolverAsio.cpp.
|
inherited |
Definition at line 92 of file ResolverAsio.cpp.
beast::Journal ripple::ResolverAsioImpl::m_journal |
Definition at line 109 of file ResolverAsio.cpp.
boost::asio::io_service& ripple::ResolverAsioImpl::m_io_service |
Definition at line 111 of file ResolverAsio.cpp.
boost::asio::io_service::strand ripple::ResolverAsioImpl::m_strand |
Definition at line 112 of file ResolverAsio.cpp.
boost::asio::ip::tcp::resolver ripple::ResolverAsioImpl::m_resolver |
Definition at line 113 of file ResolverAsio.cpp.
std::condition_variable ripple::ResolverAsioImpl::m_cv |
Definition at line 115 of file ResolverAsio.cpp.
std::mutex ripple::ResolverAsioImpl::m_mut |
Definition at line 116 of file ResolverAsio.cpp.
bool ripple::ResolverAsioImpl::m_asyncHandlersCompleted |
Definition at line 117 of file ResolverAsio.cpp.
std::atomic<bool> ripple::ResolverAsioImpl::m_stop_called |
Definition at line 119 of file ResolverAsio.cpp.
std::atomic<bool> ripple::ResolverAsioImpl::m_stopped |
Definition at line 120 of file ResolverAsio.cpp.
std::deque<Work> ripple::ResolverAsioImpl::m_work |
Definition at line 139 of file ResolverAsio.cpp.
|
privateinherited |
Definition at line 100 of file ResolverAsio.cpp.