2 * \file fwp_sendrecv_test2.c
4 * This a test application that:
5 * - creates vres without negotiation
6 * - creates reliable send endpoint
7 * - cretaes receiver thread and receive endpoint within it
8 * - binds that endpoint to vres
13 #define CONFIGURE_FWP_MNGT 0
14 #include "fwp_confdefs.h"
23 fwp_endpoint_attr_t attr;
25 void* receiver(void* arg)
27 fwp_endpoint_d_t repoint_d1;
32 FWP_DEBUG("Creating receive endpoint\n");
33 if (fwp_receive_endpoint_create(7777, &attr,&repoint_d1) < 0){
34 perror("Error while creating receive endpoint\n");
38 FWP_DEBUG("Receive endpoint created \n");
39 for (i = 0; i < MSGN; i++) {
40 if ((len = fwp_recv(repoint_d1, buffer, sizeof(buffer), &from,
42 perror("Error while receiving data::");
45 printf("Received %s\n",buffer);
46 //for (j = 0 ; j < 10; i++)
47 // printf("%c", buffer[i]);
59 struct fwp_vres_params vparam1, vparam2;
60 char msg1[] = "Hello1";
61 char msg2[] = "Hello2";
62 fwp_endpoint_d_t sepoint_d1;
65 vparam1.ac_id = FWP_AC_VO;
67 vparam1.period.tv_sec = 0;
68 vparam1.period.tv_nsec = 10000;
70 vparam2.ac_id = FWP_AC_BK;
72 vparam2.period.tv_sec = 0;
73 vparam2.period.tv_nsec = 100000;
76 if (fwp_init() != 0) {
77 printf("FWP initialization failed!\n");
81 fwp_endpoint_attr_init(&attr);
82 fwp_endpoint_attr_setreliability(&attr, FWP_EPOINT_RELIABLE);
84 pthread_create(&thread, NULL, &receiver, (void*) NULL);
85 printf("Create vres1, vres2\n");
86 if (fwp_vres_create(&vparam1, &vres_d1) < 0) {
87 printf("Unable to create vres1\n");
90 printf("Vres1 created \n");
92 if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, &attr,
96 printf("Send endpoint 1 created\n");
97 fwp_send_endpoint_bind(sepoint_d1, vres_d1);
99 fwp_send(sepoint_d1, msg1, sizeof(msg1), 0);
100 FWP_DEBUG("Sent msg1\n");
101 fwp_send(sepoint_d1, msg2, sizeof(msg2), 0);
102 FWP_DEBUG("Sent msg2\n");
104 pthread_join(thread, (void**) NULL);
105 /*if (fwp_vres_destroy(vres_d1) < 0) {
106 perror("Unable to destroy vres1\n");
109 printf("Vres1 destroyed\n");
111 if (fwp_vres_destroy(vres_d2) < 0){
112 perror("Unable to destroy vres2\n");
115 printf("Vres2 destroyed\n");
118 printf("Test PASSED!\n");