E-MailRelay

Public Member Functions | Static Public Member Functions | List of all members
GNet::ResolverImp Class Reference

A private "pimple" implementation class used by GNet::Resolver to do asynchronous name resolution. More...

Inheritance diagram for GNet::ResolverImp:

## Public Member Functions
| ResolverImp (Resolver &, ExceptionSink, const Location &)
bool | zombify ()
| ResolverImp (const ResolverImp &)=delete
| ResolverImp (ResolverImp &&)=delete
void | operator= (const ResolverImp &)=delete
void | operator= (ResolverImp &&)=delete

## Static Public Member Functions
static void | start (ResolverImp *, FutureEvent::handle_type) noexcept
static std::size_t | zcount () noexcept

## Detailed Description

A private "pimple" implementation class used by GNet::Resolver to do asynchronous name resolution.

The ResolverImp object contains a worker thread that runs ResolverFuture::run(). The ResolverImp object's lifetime is dependent on the worker thread, so the best the GNet::Resolver class can do to cancel a resolve request is to ask the ResolverImp to delete itself and then forget about it.

Definition at line 41 of file gresolver.cpp.

## Constructor & Destructor Documentation

## ◆ ResolverImp()

GNet::ResolverImp::ResolverImp | ( | Resolver & | resolver,
|  | ExceptionSink | es,
|  | const Location & | location
| ) |  |

Definition at line 89 of file gresolver.cpp.

## ◆ ~ResolverImp()

GNet::ResolverImp::~ResolverImp | ( |  | ) |
| override

Definition at line 101 of file gresolver.cpp.

## Member Function Documentation

## ◆ start()

void GNet::ResolverImp::start | ( | ResolverImp * | This,
|  | FutureEvent::handle_type | handle
| ) |  |
| static noexcept

Definition at line 119 of file gresolver.cpp.

## ◆ zcount()

std::size_t GNet::ResolverImp::zcount | ( |  | ) |
| static noexcept

Definition at line 114 of file gresolver.cpp.

## ◆ zombify()

bool GNet::ResolverImp::zombify | ( |  | ) |

Definition at line 151 of file gresolver.cpp.

The documentation for this class was generated from the following file:

- /usr/src/slapt-src-x86_64/network/emailrelay/emailrelay-2.3/src/gnet/gresolver.cpp