Exemplo n.º 1
0
int main(int argc, char *argv[])
{

	gtk_init(&argc, &argv);

	win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	g_signal_connect(win, "destroy", G_CALLBACK(destroy), NULL);

	struct table *table = table_new_with_columns(4,
			"a", G_TYPE_STRING,
			"A", G_TYPE_STRING,
			"b", G_TYPE_STRING,
			"B", G_TYPE_STRING);
	int i;
	for (i = 0; i < 10; i++) {
		table_add_row(table, "text a", "text A", "text b", "text B");
		table_add_row(table, "a", "A", "b", "B");
	}

	gtk_container_add(GTK_CONTAINER(win), table->widget);
	gtk_widget_show(table->widget);

	gtk_widget_show(win);

	g_timeout_add_seconds(1, time_out, table);
	gtk_main();

	return 0;
}
Exemplo n.º 2
0
void table_add_row_from_strlist (Table* t, StrList* list)
{
        wchar_t** row = (wchar_t**)malloc(str_list_length(list)
                                          * sizeof(wchar_t**));
        int i = 0;

        while (list)
        {
                row[i] = (wchar_t*)list->str;

                list = list->next;
                ++i;
        }

        table_add_row (t, row);
}
Exemplo n.º 3
0
void table_add_row_from_strlist (Table* t, StrList* list)
{
        wchar_t** row = xmalloc (str_list_length(list) * sizeof(*row));
        int i = 0;

        while (list)
        {
                row[i] = wcsdup (list->str);
                if (row[i] == NULL)
                        xalloc_die ();


                list = list->next;
                ++i;
        }

        table_add_row (t, row);
}
Exemplo n.º 4
0
gboolean time_out(gpointer data)
{
	static unsigned int I = 0;
	struct table *table = data;
	g_printf("hello %d\n", I++);

	/* Test for memory leak */
	table_destroy(table);

	table = table_new_with_columns(4,
			"string", G_TYPE_STRING,
			"double", G_TYPE_DOUBLE,
			"int", G_TYPE_INT,
			"uint", G_TYPE_UINT);
	int i;
	for (i = 0; i < 100; i++) {
		table_add_row(table, "text a", i + 0.5, -i, i);
	}
	gtk_container_add(GTK_CONTAINER(win), table->widget);
	gtk_widget_show(table->widget);

	return TRUE;
}
Exemplo n.º 5
0
int main() {
	int i;
	struct timespec start, end, diff[8];
	table* t;
	int widths[] = { 20, 20, 20 };
	machine* server;
	half_long_string hl_str;

	config_server();

	deploy(machines[0], "./rpc_times_server");
	deploy(machines[2], "./rpc_times_server");
	deploy(machines[3], "./rpc_times_server");

	sleep(5);

	// 1028 bytes arg
	for (i = 0; i < 1024; i++) {
		hl_str.str1[i] = 65 + i % 26;
		hl_str.str2[i] = 65 + i % 26;
	}

	{
		// Local call 4 bytes
		printf("Calling Local (no RPC): 4 bytes");
		fflush(stdout);
		clock_gettime(CLOCK_REALTIME, &start);
		local_call_4(1000);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[0].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[0].tv_sec = end.tv_sec - start.tv_sec;

		// Local call 2048 bytes
		printf(", 2048 bytes\t\tOK\n");
		clock_gettime(CLOCK_REALTIME, &start);
		local_call_2048(hl_str);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[1].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[1].tv_sec = end.tv_sec - start.tv_sec;
	}
	{
		server = machines[4];
		// Remote call 4 bytes
		printf("Calling Local RPC: 4 bytes");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_4(server->ip, 1000);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[2].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[2].tv_sec = end.tv_sec - start.tv_sec;

		// Remote call 2048 bytes
		printf(", 2048 bytes\t\tOK\n");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_2048(server->ip, hl_str);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[3].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[3].tv_sec = end.tv_sec - start.tv_sec;
	}
	{
		server = machines[2];
		// Remote call 4 bytes (Remote: Fedora)
		printf("Calling Remote Homogeneous: 4 bytes");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_4(server->ip, 1000);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[4].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[4].tv_sec = end.tv_sec - start.tv_sec;

		// Remote call 2048 bytes (Remote: Fedora)
		printf(", 2048 bytes\t\tOK\n");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_2048(server->ip, hl_str);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[5].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[5].tv_sec = end.tv_sec - start.tv_sec;
	}
	{
		server = machines[2];
		// Remote call 4 bytes (Remote: Alpha)
		printf("Calling Remote heterogeneous: 4 bytes");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_4(server->ip, 1000);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[6].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[6].tv_sec = end.tv_sec - start.tv_sec;

		// Remote call 2048 bytes (Remote: Alpha)
		printf(", 2048 bytes\t\tOK\n");
		clock_gettime(CLOCK_REALTIME, &start);
		rpc_call_2048(server->ip, hl_str);
		clock_gettime(CLOCK_REALTIME, &end);
		diff[7].tv_nsec = end.tv_nsec - start.tv_nsec;
		diff[7].tv_sec = end.tv_sec - start.tv_sec;
	}

	printf("\nResultados\n");
	printf("==========\n");

	// Initialize table
	t = table_initialize(3, widths);
	// Write row data
	table_add_row(t);
	table_add_data(t, 0, 0, "");
	table_add_data(t, 0, 1, "4b in, 4b out");
	table_add_data(t, 0, 2, "2x1024 in, 2048 out");

	// Write row data
	table_add_row(t);
	table_add_data(t, 1, 0, "Local call");
	table_add_data(t, 1, 1, "%lis %09li ns", diff[0].tv_sec, diff[0].tv_nsec);
	table_add_data(t, 1, 2, "%lis %09li ns", diff[1].tv_sec, diff[1].tv_nsec);

	// Write row data
	table_add_row(t);
	table_add_data(t, 2, 0, "RPC (local)");
	table_add_data(t, 2, 1, "%lis %09li ns", diff[2].tv_sec, diff[2].tv_nsec);
	table_add_data(t, 2, 2, "%lis %09li ns", diff[3].tv_sec, diff[3].tv_nsec);

	// Write row data
	table_add_row(t);
	table_add_data(t, 3, 0, "RPC (remota)");
	table_add_data(t, 3, 1, "%lis %09li ns", diff[4].tv_sec, diff[4].tv_nsec);
	table_add_data(t, 3, 2, "%lis %09li ns", diff[5].tv_sec, diff[5].tv_nsec);

	// Write row data
	table_add_row(t);
	table_add_data(t, 4, 0, "RPC (hetero)");
	table_add_data(t, 4, 1, "%lis %09li ns", diff[6].tv_sec, diff[6].tv_nsec);
	table_add_data(t, 4, 2, "%lis %09li ns", diff[7].tv_sec, diff[7].tv_nsec);

	// Print table
	table_print(t);

	return 0;
}