#include <netinet/in.h>
#include <arpa/inet.h>
-
+#include <wvtest.h>
#include "fwp_confdefs.h"
#include <fres_sa_scenario.h>
#include <fwp_res.h>
#include <fwp_vres.h>
-char msg[MSGBUFFSIZE];
-
-frsh_resource_id_t resource_id = TEST_RESOURCE_ID;
-frsh_stream_id_t port = TEST_STREAM_ID;
-long int num_msg = TEST_NUM_MSG;
-size_t msg_size = MSGBUFFSIZE;
-
-int exit_flag = 0;
-int dst_ip = 0;
-
int main(int argc, char* argv[])
{
+ char msg[MSGBUFFSIZE];
+
+ frsh_resource_id_t resource_id = TEST_RESOURCE_ID;
+ frsh_stream_id_t port = TEST_STREAM_ID;
+ long int num_msg = TEST_NUM_MSG;
+ size_t msg_size = MSGBUFFSIZE;
+ int time_period = 1000;
+ int dst_ip = 0;
+
bool opt_daemon = false;
char *opt_pidfile = NULL;
int opt;
- int ret;
+ frsh_send_endpoint_t sepoint;
+ frsh_vres_id_t vres;
+ frsh_send_endpoint_protocol_info_t send_pinfo;
+ frsh_contract_t contract;
+ frsh_rel_time_t budget, period;
+ int count;
opterr = 0;
- while ((opt = getopt (argc, argv, "e:d:p:s:m:")) != -1) {
+ while ((opt = getopt (argc, argv, "e:d:p:s:m:t:")) != -1) {
switch (opt) {
case 'e':
case 's':
msg_size = atoi(optarg);
break;
+ case 't':
+ time_period = atoi(optarg);
case '?':
printf("Usage: %s -e -d dst_ip_addr -p port"
"-m num_msg -s msg_size\n",
if (opt_daemon)
forb_daemon_prepare(opt_pidfile);
- ret = frsh_init();
- if (ret) PERROR_AND_EXIT(ret, "frsh_init");
-
- frsh_send_endpoint_t sepoint;
- frsh_vres_id_t vres;
- frsh_send_endpoint_protocol_info_t send_pinfo;
- frsh_contract_t contract;
- frsh_rel_time_t budget, period;
- int count;
+ WVFRSH(frsh_init());
send_pinfo.body = NULL;
+
+ //TODO: What's the return value?
if (frsh_send_endpoint_create(resource_id, dst_ip, port,
send_pinfo, &sepoint)< 0) {
return 1;
}
/* Contract negotiation */
- ret = frsh_contract_init(&contract);
- if (ret) PERROR_AND_EXIT(ret, "frsh_contract_init");
+ WVFRSH(frsh_contract_init(&contract));
- frsh_network_bytes_to_budget(resource_id, msg_size, &budget);
- period = fosa_msec_to_rel_time(1000);
- ret = frsh_contract_set_basic_params(&contract,
+ WVFRSH(frsh_network_bytes_to_budget(resource_id, msg_size, &budget));
+ period = fosa_msec_to_rel_time(time_period);
+ WVFRSH(frsh_contract_set_basic_params(&contract,
&budget,
&period,
FRSH_WT_BOUNDED,
- FRSH_CT_REGULAR);
- if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_basic_params");
- ret = frsh_contract_set_resource_and_label(&contract,FRSH_RT_NETWORK,
- resource_id, "net_cont1");
- if (ret) PERROR_AND_EXIT(ret, "frsh_contract_set_resource_and_label");
-
- ret = frsh_contract_negotiate(&contract, &vres);
- if (ret) PERROR_AND_EXIT(ret, "frsh_contract_negotiate");
+ FRSH_CT_REGULAR));
+ WVFRSH(frsh_contract_set_resource_and_label(&contract,FRSH_RT_NETWORK,
+ resource_id, "net_cont1"));
+ WVFRSH(frsh_contract_negotiate(&contract, &vres));
printf("Send endpoint created\n");
- frsh_send_endpoint_bind(vres, sepoint);
+ WVFRSH(frsh_send_endpoint_bind(vres, sepoint));
printf("Send endpoint bounded\n");
count = 0;
sleep(1);
count++;
sprintf(msg,"msg%d",count);
- frsh_send_async(sepoint, msg, msg_size);
+ WVPASSEQ(frsh_send_async(sepoint, msg, msg_size), msg_size);
printf("%s sent\n",msg);
}