summaryrefslogtreecommitdiff
path: root/innobase/srv/ts/tsdbc.c
blob: 83ba081959d5456803d6ae2e54ae3e38f2042fc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/************************************************************************
Database client test program

(c) 1995 Innobase Oy

Created 10/10/1995 Heikki Tuuri
*************************************************************************/

#include "com0com.h"
#include "com0shm.h"
#include "ut0ut.h"
#include "mem0mem.h"
#include "os0thread.h"
#include "sync0ipm.h"
#include "sync0sync.h"

byte	buf[10000];
char	addr[150];

void
test1(void)
/*=======*/
{
	com_endpoint_t*		ep;
	ulint			ret;
	ulint			size;
	ulint			len;
	ulint			addr_len;
	ulint			i, j;
	ulint			tm, oldtm;
	

	oldtm = ut_clock();

     	for (i = 0; i < 10000; i++) {

		ut_delay(100);
     	}

     	for (j = 0; j < i / 10; j++) {

		ut_delay(200);
     	}
	
	tm = ut_clock();
	printf("Wall clock time for test without server %ld milliseconds\n",
			tm - oldtm);
	printf("%lu rounds\n", i);
	
	ep = com_endpoint_create(COM_SHM);

	ut_a(ep);

	size = 8192;
	
	ret = com_endpoint_set_option(ep, COM_OPT_MAX_DGRAM_SIZE,
				      (byte*)&size, 0);

	ut_a(ret == 0);

	ret = com_bind(ep, "CLI", 3);

	ut_a(ret == 0);

	printf("Client endpoint created!\n");

	oldtm = ut_clock();

     	for (i = 0; i < 50000; i++) {

		ret = com_sendto(ep, (byte*)"Hello from client!\n", 18, "ibsrv", 5);

		ut_a(ret == 0);

		ret = com_recvfrom(ep, buf, 10000, &len, addr, 150, &addr_len);

		ut_a(ret == 0);

		buf[len] = '\0';
		addr[addr_len] = '\0';
/*
		printf(
	"Message of len %lu\n%s \nreceived from address %s of len %lu\n",
		len, buf, addr, addr_len);
*/		
     	}

	
	tm = ut_clock();
	printf("Wall clock time for test %ld milliseconds\n", tm - oldtm);
	printf("%lu message pairs\n", i);


	printf("System calls in com_shm %lu ip_mutex %lu mutex %lu\n",
		com_shm_system_call_count,
		ip_mutex_system_call_count,
		mutex_system_call_count);
		

	ret = com_endpoint_free(ep);

	ut_ad(ret == 0);
}

void 
main(void) 
/*======*/
{



	sync_init();
	mem_init();
	
	test1();

	printf("TESTS COMPLETED SUCCESSFULLY!\n");
}