non blocking dns lookup

This commit is contained in:
Benjamin Sergeant
2018-12-14 16:28:11 -08:00
parent 8c079787f0
commit cbadecab33
17 changed files with 323 additions and 52 deletions

View File

@ -6,26 +6,26 @@
#pragma once
#include "IXCancellationRequest.h"
#include <string>
#include <functional>
struct addrinfo;
namespace ix
{
using CancellationRequest = std::function<bool()>;
class SocketConnect {
public:
static int connect(const std::string& hostname,
int port,
std::string& errMsg,
CancellationRequest isCancellationRequested);
const CancellationRequest& isCancellationRequested);
private:
static bool connectToAddress(const struct addrinfo *address,
int& sockfd,
std::string& errMsg,
CancellationRequest isCancellationRequested);
const CancellationRequest& isCancellationRequested);
static void configure(int sockfd);
};