diff --git a/examples/bench_21/main.c b/examples/bench_21/main.c new file mode 100644 index 0000000000000000000000000000000000000000..d602b88768f5f6c870f9b29b32c535298c3e626e --- /dev/null +++ b/examples/bench_21/main.c @@ -0,0 +1,93 @@ +#include +#include "../../reowolf.h" +#include "../utility.c" + + +int main(int argc, char** argv) { + // one of two processes: {leader, follower} + // where a set of `par_msgs` messages are sent leader->follower after + // looping follower->leader->follower `msg_loops` times. + int i, j, cid, msg_loops, par_msgs; + char is_leader; + is_leader = argv[1][0]; + msg_loops = atoi(argv[2]); + par_msgs = atoi(argv[3]); + // argv[4..8] encodes peer IP + printf("is_leader %c, msg_loops %d, par_msgs %d\n", is_leader, msg_loops, par_msgs); + cid = is_leader=='y'; // cid := { leader:1, follower:0 } + + unsigned char pdl[] = ""; + Arc_ProtocolDescription * pd = protocol_description_parse(pdl, sizeof(pdl)-1); + Connector * c = connector_new_with_id(pd, cid); + PortId native_ports[par_msgs]; + FfiSocketAddr peer_addr = { + { + atoi(argv[4]), + atoi(argv[5]), + atoi(argv[6]), + atoi(argv[7]) + }, 0/*dummy value*/}; + int port = 7000; + + // for each parallel message + for(i=0; i