|
poser
A C framework for POsix SERvices
|
A resolver to do a batch of reverse DNS lookups. More...
#include <poser/core/resolver.h>
Public Member Functions | |
| PSC_Resolver * | PSC_Resolver_create (void) |
| PSC_Resolver default constructor. | |
| int | PSC_Resolver_addAddr (PSC_Resolver *self, const PSC_IpAddr *addr) |
| Add an address. | |
| int | PSC_Resolver_resolve (PSC_Resolver *self, int forceAsync) |
| Start resolving. | |
| PSC_Event * | PSC_Resolver_done (PSC_Resolver *self) |
| Resolving finished. | |
| const PSC_List * | PSC_Resolver_entries (const PSC_Resolver *self) |
| List of addresses and resolved names. | |
| void | PSC_Resolver_destroy (PSC_Resolver *self) |
| PSC_Resolver destructor. | |
A resolver to do a batch of reverse DNS lookups.
The resolver allows adding PSC_IpAddr instances and offers a method to do reverse lookups for all of them in a batch, preferably using a thread job.
| int PSC_Resolver_addAddr | ( | PSC_Resolver * | self, |
| const PSC_IpAddr * | addr | ||
| ) |
Add an address.
Add an address to the list of addresses to be resolved. Fails if a resolver job is already running.
| self | the PSC_Resolver |
| addr | the address to add |
| PSC_Resolver * PSC_Resolver_create | ( | void | ) |
| void PSC_Resolver_destroy | ( | PSC_Resolver * | self | ) |
PSC_Resolver destructor.
Destroys the PSC_Resolver instance. If a resolve job is currently running, this job is canceled and destructions only completes after the canceled job actually stopped. Avoid doing this, it can't be 100% reliable.
| self | the PSC_Resolver |
| PSC_Event * PSC_Resolver_done | ( | PSC_Resolver * | self | ) |
Resolving finished.
This event fires when resolving is completed. Register at least one handler for this event before calling PSC_Resolver_resolve().
| self | the PSC_Resolver |
| const PSC_List * PSC_Resolver_entries | ( | const PSC_Resolver * | self | ) |
List of addresses and resolved names.
This list contains PSC_ResolverEntry instances for every PSC_IpAddr added, with the corresponding names if successfully resolved.
| self | the PSC_Resolver |
| int PSC_Resolver_resolve | ( | PSC_Resolver * | self, |
| int | forceAsync | ||
| ) |
Start resolving.
Starts batch resolving, prefers to do this on a thread job, but does it synchronously if the thread pool is not available or the job can't be enqueued. Fails if a resolver job is already running or there are no addresses added to the resolver.
| self | the PSC_Resolver |
| forceAsync | if set to 1, fails when resolving can't be done on a thread job |