]> rtime.felk.cvut.cz Git - frescor/fwp.git/blob - fwp/tests/fwp_prototest/fwp_sendrecv_test.c
Added a possibility to measure saturation bandwidth.
[frescor/fwp.git] / fwp / tests / fwp_prototest / fwp_sendrecv_test.c
1 #include "fwp_vres.h"
2 #include "fwp_proto.h"
3 #include "fwp_msgb.h"
4
5 #include <errno.h>
6 #include <stdio.h>
7
8 int main()
9 {
10         struct sockaddr_in local_addr, rem_addr, from;
11         int sockfd;
12         long len;
13         unsigned int vres_id1, vres_id2;
14         int i;
15         struct fwp_contract cnt1;
16         struct fwp_contract cnt2;
17         char msg1[] = "Hello1";
18         char msg2[] = "Hello2";
19         char buffer[30];
20         struct fwp_msgb *msgb;
21         socklen_t fromlen;
22
23         cnt1.ac_id = FWP_AC_VO; 
24         cnt1.budget = 100;
25         cnt1.period_usec = 150; 
26
27         cnt2.ac_id = FWP_AC_BK; 
28         cnt2.budget = 100;
29         cnt2.period_usec = 150;
30
31         printf("Start\n");
32         fwp_vres_table_init();
33         vres_id1 = fwp_vres_open(&cnt1);
34         vres_id2 = fwp_vres_open(&cnt2);
35         printf("Vres created\n");
36 #if 0
37         memset(&local_addr,0, sizeof(local_addr));
38         if ((sockfd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
39                 /*perror("Unable to open socket");*/
40                 return -1;
41         }
42
43         local_addr.sin_family = AF_INET;
44         local_addr.sin_addr.s_addr = INADDR_ANY;
45         local_addr.sin_port = htons(7777);
46
47         if (bind(sockfd, (struct sockaddr*)&local_addr, 
48                  sizeof(local_addr)) == -1) {
49                 
50                 close(sockfd);
51                 return -1;
52         }
53         
54         rem_addr.sin_family = AF_INET;
55         rem_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
56         rem_addr.sin_port = htons(7777);
57         
58         msgb = fwp_msgb_alloc(sizeof(msg1));
59
60         fwp_send(vres_id1, msg1, sizeof(msg1), 0, (struct sockaddr*)&rem_addr, 
61                  sizeof(rem_addr));
62         fwp_send(vres_id1, msg2, sizeof(msg2), 0, (struct sockaddr*)&rem_addr, 
63                  sizeof(rem_addr));
64
65
66         for (i = 0; i < 2; i++) {
67                 if ((len = fwp_recv(sockfd, buffer, sizeof(buffer), 0, 
68                                     (struct sockaddr*)&from, &fromlen)) < 0) {
69                         close(sockfd);
70                         perror("Error while receiving data");
71                         return -1;
72                 } 
73                         else printf("Received - %s\n", buffer);
74         }
75 #endif
76         return 0;
77 }