DNS Class Reference
This class holds a number of static functions used for DNS related stuff.
More...
#include <dns.h>
List of all members.
Public Types |
typedef std::map< std::string,
int > | HostMap |
Static Public Member Functions |
static HostMap | resolve (const std::string &service, const std::string &proto, const std::string &domain, const LogSink &logInstance) |
static HostMap | resolve (const std::string &domain, const LogSink &logInstance) |
static int | connect (const std::string &host, const LogSink &logInstance) |
static int | connect (const std::string &host, int port, const LogSink &logInstance) |
static int | getSocket (const LogSink &logInstance) |
static void | closeSocket (int fd, const LogSink &logInstance) |
Detailed Description
This class holds a number of static functions used for DNS related stuff.
You should not need to use these functions directly.
- Author:
- Jakob Schroeter <js@camaya.net>
- Since:
- 0.3
Definition at line 61 of file dns.h.
Member Typedef Documentation
typedef std::map<std::string, int> HostMap |
A list of strings (used for server addresses) and ints (used for port numbers).
Definition at line 68 of file dns.h.
Member Function Documentation
void closeSocket |
( |
int |
fd, |
|
|
const LogSink & |
logInstance | |
|
) |
| | [static] |
Closes the given socket.
- Parameters:
-
| fd | The socket to close. |
| logInstance | A LogSink to use for logging. |
Definition at line 454 of file dns.cpp.
int connect |
( |
const std::string & |
host, |
|
|
int |
port, |
|
|
const LogSink & |
logInstance | |
|
) |
| | [static] |
This is a convenience function which connects to the given host and port. No SRV records are resolved. Use this function for special setups.
- Parameters:
-
| host | The host/IP address to connect to. |
| port | A custom port to connect to. |
| logInstance | A LogSink to use for logging. |
- Returns:
- A file descriptor for the established connection.
Definition at line 401 of file dns.cpp.
int connect |
( |
const std::string & |
host, |
|
|
const LogSink & |
logInstance | |
|
) |
| | [static] |
This is a convenience function which uses resolve() to get a list of hosts and connects to one of them.
- Parameters:
-
| host | The host to resolve SRV records for. |
| logInstance | A LogSink to use for logging. |
- Returns:
- A file descriptor for the established connection.
Definition at line 314 of file dns.cpp.
int getSocket |
( |
const LogSink & |
logInstance |
) |
[static] |
A convenience function that prepares and returnes a simple, unconnected TCP socket.
- Parameters:
-
| logInstance | A LogSink to use for logging. |
- Returns:
- A TCP socket.
Definition at line 332 of file dns.cpp.
static HostMap resolve |
( |
const std::string & |
domain, |
|
|
const LogSink & |
logInstance | |
|
) |
| | [inline, static] |
This is a convenience funtion which uses resolve() to resolve SRV records for a given domain, using a service of xmpp-client and a proto of tcp.
- Parameters:
-
| domain | The domain to resolve SRV records for. |
| logInstance | A LogSink to use for logging. |
- Returns:
- A list of weighted hostname/port pairs from SRV records, or A records if no SRV records where found.
Definition at line 90 of file dns.h.
DNS::HostMap resolve |
( |
const std::string & |
service, |
|
|
const std::string & |
proto, |
|
|
const std::string & |
domain, |
|
|
const LogSink & |
logInstance | |
|
) |
| | [static] |
This function resolves a service/protocol/domain tuple.
- Parameters:
-
| service | The SRV service type. |
| proto | The SRV protocol. |
| domain | The domain to search for SRV records. |
| logInstance | A LogSink to use for logging. |
- Returns:
- A list of weighted hostname/port pairs from SRV records, or A records if no SRV records where found.
Definition at line 81 of file dns.cpp.
The documentation for this class was generated from the following files: