From b1c9f1d339b661ce9a6ac738150b62e2786909bb Mon Sep 17 00:00:00 2001 From: Tuka Martin Date: Tue, 13 Mar 2012 00:00:27 +0100 Subject: [PATCH] fwp transmit/receive test update Added wvtest macros, possibility to set up period as a program parameter --- src/fwp/fwp/demo/Makefile.omk | 2 +- src/fwp/fwp/demo/receiver.c | 29 +++++++++------ src/fwp/fwp/demo/sender.c | 69 ++++++++++++++++------------------- 3 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/fwp/fwp/demo/Makefile.omk b/src/fwp/fwp/demo/Makefile.omk index da6ae679..78a5a9eb 100644 --- a/src/fwp/fwp/demo/Makefile.omk +++ b/src/fwp/fwp/demo/Makefile.omk @@ -1,6 +1,6 @@ test_PROGRAMS = fwp_demo_sender fwp_demo_receiver fwp_demo_sender_SOURCES+= sender.c fwp_demo_receiver_SOURCES+= receiver.c -lib_LOADLIBES += frm forb fosa frsh fwp_admctrl fwp pthread rt ulut frsh_fwp contract +lib_LOADLIBES += frm forb fosa frsh fwp_admctrl fwp pthread rt ulut frsh_fwp contract wvtest wvtest_SCRIPTS += fwp_send_receive.sh diff --git a/src/fwp/fwp/demo/receiver.c b/src/fwp/fwp/demo/receiver.c index f3bc4f4e..c2738ee1 100644 --- a/src/fwp/fwp/demo/receiver.c +++ b/src/fwp/fwp/demo/receiver.c @@ -19,18 +19,20 @@ #include #include "fwp.h" -char msg[MSGBUFFSIZE]; - -frsh_resource_id_t resource_id = TEST_RESOURCE_ID; -frsh_stream_id_t stream_id = TEST_STREAM_ID; -long int num_msg = TEST_NUM_MSG; -size_t msg_size = MSGBUFFSIZE; +#include int main(int argc, char* argv[]) { int ret; int opt; + char msg[MSGBUFFSIZE]; + + frsh_resource_id_t resource_id = TEST_RESOURCE_ID; + frsh_stream_id_t stream_id = TEST_STREAM_ID; + long int num_msg = TEST_NUM_MSG; + size_t msg_size = MSGBUFFSIZE; + size_t len; frsh_receive_endpoint_t repoint; int count; @@ -66,15 +68,15 @@ int main(int argc, char* argv[]) if (opt_daemon) forb_daemon_prepare(opt_pidfile); - ret = frsh_init(); - if (ret) PERROR_AND_EXIT(ret, "frsh_init"); + WVFRSH(frsh_init()); + printf("Frsh initialized\n"); recv_pinfo.body = NULL; //TODO: Change fwp_* for frsh_* function /* local_addr should be handled when creating socket */ - //if (frsh_receive_endpoint_create(resource_id, stream_id, qinfo, recv_pinfo, + //if (frsh_receive_endpoint_create(FRSH_NETPF_FWP, 7777, qinfo, recv_pinfo, // &repoint) != 0){ // return -1; //} @@ -83,7 +85,7 @@ int main(int argc, char* argv[]) fwp_endpoint_attr_init(&attr); /* local_addr should be handled when creating socket */ - if (fwp_receive_endpoint_create(7777, &attr,&repoint) < 0){ + if (fwp_receive_endpoint_create(stream_id, &attr,&repoint) < 0){ return -1; } printf("Receive endpoint created\n"); @@ -97,7 +99,12 @@ int main(int argc, char* argv[]) perror("Error while receiving data"); return -1; } - else { + //if ((frsh_receive_sync(repoint, msg, msg_size, &len, + // &from))){ + // perror("Error while receiving data"); + // return NULL; + //} + else { printf("Received - %s\n", buffer); count++; if(count == num_msg) diff --git a/src/fwp/fwp/demo/sender.c b/src/fwp/fwp/demo/sender.c index b8861adc..f3018f08 100644 --- a/src/fwp/fwp/demo/sender.c +++ b/src/fwp/fwp/demo/sender.c @@ -13,32 +13,36 @@ #include #include - +#include #include "fwp_confdefs.h" #include #include #include -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': @@ -57,6 +61,8 @@ int main(int argc, char* argv[]) 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", @@ -67,43 +73,32 @@ int main(int argc, char* argv[]) 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; @@ -112,7 +107,7 @@ int main(int argc, char* argv[]) 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); } -- 2.39.2