Exemplo n.º 1
0
void
resolve_remote(struct remote_context *remote, char *host, uint16_t port) {
    if (verbose) {
        logger_log(LOG_INFO, "resolve %s", host);
    }
    struct resolver_context *dns = uv_key_get(&thread_resolver_key);
    remote->stage = XSTAGE_RESOLVE;
    remote->host_query = resolver_query(dns, host, port, resolve_cb, remote);
    if (remote->host_query == NULL) {
        remote->stage = XSTAGE_TERMINATE;
        close_client(remote->client);
        close_remote(remote);
    }
}
Exemplo n.º 2
0
	void client::connect(const std::string& hostname, int port)
	{
		if (_running)
		{
			return;
		}

		if (!_encryption->last_error().empty())
		{
			error(-1, _encryption->last_error());

			return;
		}

		_running = true;

		tcp::resolver resolver(_service);
		tcp::resolver::query resolver_query(hostname, std::to_string(port));

		_endpoint = resolver.resolve(resolver_query);

		try_connect();
	}
Exemplo n.º 3
0
void
resolve_remote(struct remote_context *remote, char *host, uint16_t port) {
    struct resolver_context *ctx = remote->handle.handle.loop->data;
    remote->stage = XSTAGE_RESOLVE;
    remote->host_query = resolver_query(ctx, host, port, resolve_cb, remote);
}