Archived
3
0
This repository has been archived on 2024-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
libipc-old/tests/func_01_connection_establishmentd.c

60 lines
1.3 KiB
C
Raw Normal View History

2019-07-27 15:48:56 +02:00
#include "../src/ipc.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SERVICE_NAME "pong"
int main(int argc, char * argv[])
2019-07-27 15:48:56 +02:00
{
argc = (int) argc;
argv = (char **) argv;
SECURE_DECLARATION(struct ipc_ctx, ctx);
int timer = 10000; // 10 seconds timer
2019-07-27 15:48:56 +02:00
printf ("func 01 - server init...\n");
TEST_IPC_Q(ipc_server_init (&ctx, SERVICE_NAME), EXIT_FAILURE);
2019-07-27 15:48:56 +02:00
printf ("func 01 - server init ok\n");
SECURE_DECLARATION(struct ipc_event, event);
2019-07-27 15:48:56 +02:00
printf ("func 01 - service polling...\n");
2019-07-27 15:48:56 +02:00
// listen only for a single client
TEST_IPC_Q(ipc_wait_event (&ctx, &event, &timer), EXIT_FAILURE);
2019-07-27 15:48:56 +02:00
switch (event.type) {
case IPC_EVENT_TYPE_TIMER : {
fprintf(stderr, "time up!\n");
timer = 10000;
};
break;
2019-07-27 15:48:56 +02:00
case IPC_EVENT_TYPE_CONNECTION :
{
printf ("ok - connection establishment\n");
break;
}
case IPC_EVENT_TYPE_NOT_SET :
case IPC_EVENT_TYPE_ERROR :
case IPC_EVENT_TYPE_EXTRA_SOCKET :
case IPC_EVENT_TYPE_DISCONNECTION :
case IPC_EVENT_TYPE_MESSAGE :
default :
printf ("not ok - should not happen\n");
exit (EXIT_FAILURE);
break;
}
printf ("func 01 - closing server...\n");
TEST_IPC_Q(ipc_close_all(&ctx), EXIT_FAILURE);
printf ("func 01 - closing ctx...\n");
ipc_ctx_free (&ctx);
2019-07-27 15:48:56 +02:00
return EXIT_SUCCESS;
}