]> rtime.felk.cvut.cz Git - frescor/fwp.git/blob - fwp/tests/fwp_vrestest/fwp_vrestest1.c
9fac9dab53fe7491fc44210eec7133904f89abb6
[frescor/fwp.git] / fwp / tests / fwp_vrestest / fwp_vrestest1.c
1 #include "fwp.h"
2
3 #include <errno.h>
4 #include <stdio.h>
5
6 #define  NUM  10000
7
8 int main()
9 {
10 //      struct sockaddr_in local_addr, rem_addr, from;
11         ssize_t len;
12         fwp_vres_d_t vresd1, vresd2;
13         struct fwp_vres_params vparam1;
14         char msg1[15];
15         char buffer[30];
16         fwp_endpoint_d_t sepoint_d1, repoint_d;
17         int count;
18         struct timespec  sendtime;
19
20         vparam1.ac_id = FWP_AC_VO; 
21         vparam1.budget = 100;
22         vparam1.period_usec = 2111111; 
23
24         printf("Start\n");
25         if (fwp_init() != 0) {
26                 printf("fwp_init failed!\n");
27                 return -1;
28         }       
29         
30         printf("Create vres1\n");
31         if ((fwp_vres_create(&vparam1, &vresd1) < 0)) {
32                 printf("Unable to create vres1\n");
33                 return -1;
34         }
35         printf("Vres1 created\n");
36         
37         printf("Create vres2\n");
38         if ((fwp_vres_create(&vparam1, &vresd2) < 0)) {
39                 printf("Unable to create vres2\n");
40                 return -1;
41         }
42         printf("Vres2 created\n");
43         /* local_addr should be handled when creating socket */
44         if (fwp_receive_endpoint_create(7777, &repoint_d) < 0) {
45                 return -1;
46         }
47         printf("Receive endpoint created\n");
48         
49         if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, &sepoint_d1) 
50                 < 0){
51                 return -1;
52         }
53         printf("Send endpoint 1 created\n");
54         fwp_send_endpoint_bind(sepoint_d1, vresd1);
55         
56         for (count = 0; count < NUM; count++) { 
57                 sprintf(msg1,"msg%d",count);
58                 fwp_send(sepoint_d1, msg1, sizeof(msg1));
59                 
60                 clock_gettime(CLOCK_MONOTONIC, &sendtime);
61                 FWP_DEBUG("Sent: sec = %ld nsec = %ld \n", sendtime.tv_sec,
62                                 sendtime.tv_nsec);
63                 
64                 if ((len = fwp_recv(repoint_d, buffer, sizeof(buffer))) < 0) {
65                         perror("Error while receiving data");
66                         return -1;
67                 } 
68                         else printf("Received - %s\n", buffer);
69         }
70
71         if (fwp_vres_destroy(vresd1) < 0) {
72                 perror("Unable to destroy vres1\n");
73                 return -1;
74         }
75         printf("Vres1 detroyed\n");
76         printf("Test PASSED!\n");
77         return 0;
78 }