mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
118 lines
1.9 KiB
C
118 lines
1.9 KiB
C
/************************************************************************
|
|
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");
|
|
}
|