Пример #1
0
struct gridd_client_s *
gridd_client_create(const gchar *target, GByteArray *req, gpointer ctx,
                client_on_reply cb)
{
	EXTRA_ASSERT(req != NULL);

	struct gridd_client_s *client = gridd_client_create_idle(target);
	if (!client)
		return NULL;
	GError *err = gridd_client_request(client, req, ctx, cb);
	if (NULL == err)
		return client;

	GRID_WARN("gridd client creation error : (%d) %s", err->code, err->message);
	g_clear_error(&err);
	gridd_client_free(client);
	return NULL;
}
Пример #2
0
static gint
do_query(struct gridd_client_s *client, struct meta1_service_url_s *surl,
		const gchar *Q)
{
	gint rc = 0;
	GError *err;
	GByteArray *req;
	struct sqlx_name_mutable_s name;

	GRID_DEBUG("Querying [%s]", Q);

	sqlx_name_fill (&name, url, NAME_SRVTYPE_SQLX, surl->seq);

	req = sqlx_pack_QUERY_single(sqlx_name_mutable_to_const(&name), Q, FALSE);
	err = gridd_client_request(client, req, NULL, _on_reply);
	g_byte_array_unref(req);

	if (NULL != err) {
		g_printerr("Local error: (%d) %s\n", err->code, err->message);
		g_clear_error(&err);
	}
	else if (NULL != (err = gridd_client_loop(client))) {
		g_printerr("Local error: (%d) %s\n", err->code, err->message);
		g_clear_error(&err);
	}
	else {
		if (NULL != (err = gridd_client_error(client))) {
			g_printerr("SQLX error: (%d) %s\n", err->code, err->message);
			g_clear_error(&err);
		}
		else {
			GRID_DEBUG("SQLX query succeeded");
			rc = 1;
		}
	}

	sqlx_name_clean (&name);
	return rc;
}
Пример #3
0
static void
test_bad_addresses(void)
{
	void test(const gchar *url) {
		GByteArray *req;
		struct gridd_client_s *client;
		GError *err;

		req = _generate_request();
		client = gridd_client_create_empty();
		g_assert(client != NULL);

		err = gridd_client_request(client, req, NULL, NULL);
		g_assert(err == NULL);

		err = gridd_client_connect_url(client, url);
		g_assert(err != NULL);
		g_clear_error (&err);

		g_byte_array_unref(req);
		gridd_client_free(client);
	}