diff options
Diffstat (limited to 'innobase/srv/ts/tsdbc.c')
-rw-r--r-- | innobase/srv/ts/tsdbc.c | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/innobase/srv/ts/tsdbc.c b/innobase/srv/ts/tsdbc.c new file mode 100644 index 00000000000..83ba081959d --- /dev/null +++ b/innobase/srv/ts/tsdbc.c @@ -0,0 +1,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"); +} |